Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.forth > #25699 > unrolled thread

gForth and unix/pthread.fs

Started byvoidvolker@gmail.com
First post2013-09-16 00:43 -0700
Last post2013-09-21 12:59 +0000
Articles 20 on this page of 21 — 6 participants

Back to article view | Back to comp.lang.forth


Contents

  gForth and unix/pthread.fs voidvolker@gmail.com - 2013-09-16 00:43 -0700
    Re: gForth and unix/pthread.fs anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-09-16 09:05 +0000
      Re: gForth and unix/pthread.fs voidvolker@gmail.com - 2013-09-16 05:43 -0700
    Re: gForth and unix/pthread.fs VoidVolker <voidvolker@gmail.com> - 2013-09-19 10:14 -0700
      Re: gForth and unix/pthread.fs Bernd Paysan <bernd.paysan@gmx.de> - 2013-09-20 01:26 +0200
        Re: gForth and unix/pthread.fs VoidVolker <voidvolker@gmail.com> - 2013-09-19 19:17 -0700
          Re: gForth and unix/pthread.fs Bernd Paysan <bernd.paysan@gmx.de> - 2013-09-20 16:20 +0200
            Re: gForth and unix/pthread.fs VoidVolker <voidvolker@gmail.com> - 2013-09-20 08:43 -0700
              Re: gForth and unix/pthread.fs Bernd Paysan <bernd.paysan@gmx.de> - 2013-09-20 19:07 +0200
                Re: gForth and unix/pthread.fs Bernd Paysan <bernd.paysan@gmx.de> - 2013-09-20 19:14 +0200
                  Re: gForth and unix/pthread.fs Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-09-21 05:02 -0500
                    Re: gForth and unix/pthread.fs Bernd Paysan <bernd.paysan@gmx.de> - 2013-09-21 15:55 +0200
                      Re: gForth and unix/pthread.fs Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-09-21 11:32 -0500
                        Re: gForth and unix/pthread.fs Bernd Paysan <bernd.paysan@gmx.de> - 2013-09-21 20:44 +0200
                          Re: gForth and unix/pthread.fs Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-09-22 05:03 -0500
                            Re: gForth and unix/pthread.fs Bernd Paysan <bernd.paysan@gmx.de> - 2013-09-22 21:18 +0200
                  Re: gForth and unix/pthread.fs VoidVolker <voidvolker@gmail.com> - 2013-09-21 11:41 -0700
                    Re: gForth and unix/pthread.fs Bernd Paysan <bernd.paysan@gmx.de> - 2013-09-21 21:18 +0200
                      Re: gForth and unix/pthread.fs VoidVolker <voidvolker@gmail.com> - 2013-09-21 13:55 -0700
                        Re: gForth and unix/pthread.fs Bernd Paysan <bernd.paysan@gmx.de> - 2013-09-21 23:40 +0200
                Re: gForth and unix/pthread.fs albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-09-21 12:59 +0000

Page 1 of 2  [1] 2  Next page →


#25699 — gForth and unix/pthread.fs

Fromvoidvolker@gmail.com
Date2013-09-16 00:43 -0700
SubjectgForth and unix/pthread.fs
Message-ID<4e0fec59-31dd-47c2-a9cd-d0f41c2d1f4c@googlegroups.com>
Hi!
I found library on git: https://github.com/earl/gforth-mirror/blob/master/unix/pthread.fs
But it seems it's for older version of gForth or not for linux and it doesn't work in gForth 0.7.2.
How make it work in new gForth?

OS: Debian 7 x64 / Ubuntu x64

Write now I use https://github.com/ayrnieu/forth-garden/blob/master/gforth/fork.fs
But it's very simple and there are no USER variables.

Maybe somewhere exist normal library for treading for gforth?

[toc] | [next] | [standalone]


#25701

Fromanton@mips.complang.tuwien.ac.at (Anton Ertl)
Date2013-09-16 09:05 +0000
Message-ID<2013Sep16.110515@mips.complang.tuwien.ac.at>
In reply to#25699
voidvolker@gmail.com writes:
>Hi!
>I found library on git: https://github.com/earl/gforth-mirror/blob/master/unix/pthread.fs
>But it seems it's for older version of gForth or not for linux and it doesn't work in gForth 0.7.2.
>How make it work in new gForth?

Bernd Paysan has been doing a lot of work on multi-threading in the
last years, and it is newer than 0.7.x (0.7.2 just fixes some build
problems).  So if you want to use it, build Gforth from the git
sources at <http://git.savannah.gnu.org/cgit/gforth.git/tree/>, which
also includes an up-to-date version of pthread.fs.  Note however, that
this stuff is still under development and may change, and it is most
likely undocumented.

- anton
-- 
M. Anton Ertl  http://www.complang.tuwien.ac.at/anton/home.html
comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html
     New standard: http://www.forth200x.org/forth200x.html
   EuroForth 2013: http://www.euroforth.org/ef13/

[toc] | [prev] | [next] | [standalone]


#25703

Fromvoidvolker@gmail.com
Date2013-09-16 05:43 -0700
Message-ID<b66d2b2d-0d13-4dbb-97e4-36e6397281f0@googlegroups.com>
In reply to#25701
16/09/2013, 13:05:15 UTC+4 Anton Ertl wrote:
> Bernd Paysan has been doing a lot of work on multi-threading in the
> last years, and it is newer than 0.7.x (0.7.2 just fixes some build
> problems).  So if you want to use it, build Gforth from the git
> sources at <http://git.savannah.gnu.org/cgit/gforth.git/tree/>, which
> also includes an up-to-date version of pthread.fs.  Note however, that
> this stuff is still under development and may change, and it is most
> likely undocumented.

Thanks for answer! I builded gforth and it works.

[toc] | [prev] | [next] | [standalone]


#25821

FromVoidVolker <voidvolker@gmail.com>
Date2013-09-19 10:14 -0700
Message-ID<1d98259a-6699-4929-80cf-1022147dd1a6@googlegroups.com>
In reply to#25699
Sometimes, when i try to start new thread, the gForth show error:
   uncaught thread exception: Return stack underflow
The new thread is socket-server or client and it doesn't work with return stack. It happens before user-code.
How to find error?

Here the code:

: init
  stacksize4 NewTask4 activate
  main-word
;

[toc] | [prev] | [next] | [standalone]


#25824

FromBernd Paysan <bernd.paysan@gmx.de>
Date2013-09-20 01:26 +0200
Message-ID<l1g17c$m9g$1@online.de>
In reply to#25821
VoidVolker wrote:

> Sometimes, when i try to start new thread, the gForth show error:
>    uncaught thread exception: Return stack underflow
> The new thread is socket-server or client and it doesn't work with return
> stack. It happens before user-code. How to find error?

Then it probably happens in the C code, and needs to be debugged in C.

> Here the code:
> 
> : init
>   stacksize4 NewTask4 activate
>   main-word
> ;

How often does this happen? Platform? I did run

forth-fast unix/pthread.fs -e ": init stacksize4 newtask4 activate cr ; init 
10 ms bye"

a 1000 times, and there was no problem (and each of the 1000 crs did show up 
in the output).

-- 
Bernd Paysan
"If you want it done right, you have to do it yourself"
http://bernd-paysan.de/

[toc] | [prev] | [next] | [standalone]


#25827

FromVoidVolker <voidvolker@gmail.com>
Date2013-09-19 19:17 -0700
Message-ID<24d1514e-0155-4b43-a88d-bb274c855887@googlegroups.com>
In reply to#25824
пятница, 20 сентября 2013 г., 3:26:35 UTC+4 пользователь Bernd Paysan написал:
> How often does this happen? Platform? I did run
> 
> forth-fast unix/pthread.fs -e ": init stacksize4 newtask4 activate cr ; init 
> 10 ms bye"
> 
> a 1000 times, and there was no problem (and each of the 1000 crs did show up 
> in the output).

It can be 20 times in sequence, even after restart of gforth, and often another copy of gforth can't start no one tread within in few minutes. Few minutes later it works normal.
I use 'htop' for thread control - it to sometimes closing without error message.

Platform: Debian 7 x64.

[toc] | [prev] | [next] | [standalone]


#25844

FromBernd Paysan <bernd.paysan@gmx.de>
Date2013-09-20 16:20 +0200
Message-ID<l1hlir$kfk$1@online.de>
In reply to#25827
VoidVolker wrote:

> пятница, 20 сентября 2013 г., 3:26:35 UTC+4 пользователь Bernd Paysan
> написал:
>> How often does this happen? Platform? I did run
>> 
>> forth-fast unix/pthread.fs -e ": init stacksize4 newtask4 activate cr ;
>> init 10 ms bye"
>> 
>> a 1000 times, and there was no problem (and each of the 1000 crs did show
>> up in the output).
> 
> It can be 20 times in sequence, even after restart of gforth, and often
> another copy of gforth can't start no one tread within in few minutes. Few
> minutes later it works normal. I use 'htop' for thread control - it to
> sometimes closing without error message.
> 
> Platform: Debian 7 x64.

Hm, I can somehow reproduce this, but it certainly doesn't happen that 
often.  Apparently there is some problem with cleaning up threads after use.

BTW: The right way to use threads is *not* to create/destroy them 
frequently, use worker threads which wait for commands.  Ok, that's what I'm 
doing, and that's what doesn't trigger this problem.

-- 
Bernd Paysan
"If you want it done right, you have to do it yourself"
http://bernd-paysan.de/

[toc] | [prev] | [next] | [standalone]


#25845

FromVoidVolker <voidvolker@gmail.com>
Date2013-09-20 08:43 -0700
Message-ID<d2aaa163-6953-44b1-a862-60e5b04194b8@googlegroups.com>
In reply to#25844
> BTW: The right way to use threads is *not* to create/destroy them 
> frequently, use worker threads which wait for commands.  Ok, that's what I'm 
> doing, and that's what doesn't trigger this problem.
> 

Yes, this is what I do. At program start create threads and mutex, then the threads just wait mutex unlock, work, and wait again mutex. Simple and fast.

[toc] | [prev] | [next] | [standalone]


#25846

FromBernd Paysan <bernd.paysan@gmx.de>
Date2013-09-20 19:07 +0200
Message-ID<l1hvcu$15u$1@online.de>
In reply to#25845
VoidVolker wrote:

>> BTW: The right way to use threads is *not* to create/destroy them
>> frequently, use worker threads which wait for commands.  Ok, that's what
>> I'm doing, and that's what doesn't trigger this problem.
>> 
> 
> Yes, this is what I do. At program start create threads and mutex, then
> the threads just wait mutex unlock, work, and wait again mutex. Simple and
> fast.

How many threads are you creating?  I've now changed the code so that it 
works better through unexpected failures, and is more robust in general, but 
the whole problem is still a bit strange.

My impression is that glibc's memory management is not really thread-safe, 
and that this causes severe problems.  I've enabled malloc checks to get a 
chance to print meaningful error messages in Forth, but that seems to rather 
increase the number of potential problems...

-- 
Bernd Paysan
"If you want it done right, you have to do it yourself"
http://bernd-paysan.de/

[toc] | [prev] | [next] | [standalone]


#25847

FromBernd Paysan <bernd.paysan@gmx.de>
Date2013-09-20 19:14 +0200
Message-ID<l1hvqe$1ti$1@online.de>
In reply to#25846
Bernd Paysan wrote:

> My impression is that glibc's memory management is not really thread-safe,
> and that this causes severe problems.  I've enabled malloc checks to get a
> chance to print meaningful error messages in Forth, but that seems to
> rather increase the number of potential problems...

I've now disabled the use of mcheck(), and this seems to cure the problem. 
Please try.  I've added mcheck() to make it possible to debug memory errors 
from within Forth (and getting a meaningful backtrace), but Ulrich Drepper 
defeats that idea...

Ulrich Drepper's comment on this is:

"mcheck does not work for multi-threaded code. It cannot possibly do. There 
is no way to fix this with the technology underlying mcheck."

m(

This is a typical Ulrich Drepper: implement something in a way that can't 
possibly work, and then claim it is impossible to fix...

-- 
Bernd Paysan
"If you want it done right, you have to do it yourself"
http://bernd-paysan.de/

[toc] | [prev] | [next] | [standalone]


#25880

FromAndrew Haley <andrew29@littlepinkcloud.invalid>
Date2013-09-21 05:02 -0500
Message-ID<-ZGdnbpfIelX86DPnZ2dnUVZ_gidnZ2d@supernews.com>
In reply to#25847
Bernd Paysan <bernd.paysan@gmx.de> wrote:
> Bernd Paysan wrote:
> 
>> My impression is that glibc's memory management is not really
>> thread-safe, and that this causes severe problems.  I've enabled
>> malloc checks to get a chance to print meaningful error messages in
>> Forth, but that seems to rather increase the number of potential
>> problems...
> 
> I've now disabled the use of mcheck(), and this seems to cure the
> problem.  Please try.  I've added mcheck() to make it possible to
> debug memory errors from within Forth (and getting a meaningful
> backtrace), but Ulrich Drepper defeats that idea...
> 
> Ulrich Drepper's comment on this is:
> 
> "mcheck does not work for multi-threaded code. It cannot possibly
> do. There is no way to fix this with the technology underlying
> mcheck."
> 
> m(
> 
> This is a typical Ulrich Drepper: implement something in a way that can't 
> possibly work, and then claim it is impossible to fix...

C'mon Bernd, your English comprehension is better than that.  He
didn't say mcheck was impossible to fix, he said it's impossible to
fix the technology underlying mcheck.

Andrew.

[toc] | [prev] | [next] | [standalone]


#25887

FromBernd Paysan <bernd.paysan@gmx.de>
Date2013-09-21 15:55 +0200
Message-ID<l1k8ge$q7h$1@online.de>
In reply to#25880
Andrew Haley wrote:

> Bernd Paysan <bernd.paysan@gmx.de> wrote:
>> This is a typical Ulrich Drepper: implement something in a way that can't
>> possibly work, and then claim it is impossible to fix...
> 
> C'mon Bernd, your English comprehension is better than that.  He
> didn't say mcheck was impossible to fix, he said it's impossible to
> fix the technology underlying mcheck.

And he did the underlying technology (which are the malloc hooks).  So he 
did implement something that isn't possible to work in a multithreaded 
environmnent, and then is incapable of fixing it.  Why the heck is it 
impossible to have thread-safe hooks for exception handling or other things 
like sanity checking?

The whole exception stuff in malloc() is impossible to use reasonable.  If 
something goes wrong in malloc() or free(), the default (thread-safe) 
behavior is to print a C backtrace and a memory map and terminate the 
program.  For a VM, this is inadequate, because the C backtrace is 
meaningless, and terminating the program is a bad idea, too.  We have our 
own exception handling.

What I actually want is a hook for the exception reporting, which mcheck() 
doesn't really provide - it *also* turns on some more expensive sanity 
checking.  I don't need or want that, the only thing I want is to take over 
when the normal code detects that there is something wrong.  I would expect 
that only mcheck_pedantic() would install those sanity checks.

And first of all, I would expect that a non-thread-safe function for 
otherwise thread-safe stuff (malloc is very explicitely stated to be thread-
safe) would have a big warning label in the manpage.

-- 
Bernd Paysan
"If you want it done right, you have to do it yourself"
http://bernd-paysan.de/

[toc] | [prev] | [next] | [standalone]


#25892

FromAndrew Haley <andrew29@littlepinkcloud.invalid>
Date2013-09-21 11:32 -0500
Message-ID<ut6dnep6TsW8V6DPnZ2dnUVZ_jednZ2d@supernews.com>
In reply to#25887
Bernd Paysan <bernd.paysan@gmx.de> wrote:
> Andrew Haley wrote:
> 
>> Bernd Paysan <bernd.paysan@gmx.de> wrote:
>>> This is a typical Ulrich Drepper: implement something in a way that can't
>>> possibly work, and then claim it is impossible to fix...
>> 
>> C'mon Bernd, your English comprehension is better than that.  He
>> didn't say mcheck was impossible to fix, he said it's impossible to
>> fix the technology underlying mcheck.
> 
> And he did the underlying technology (which are the malloc hooks).
> So he did implement something that isn't possible to work in a
> multithreaded environmnent, and then is incapable of fixing it. 

So it seems.

> Why the heck is it impossible to have thread-safe hooks for
> exception handling or other things like sanity checking?

It's not, and he didn't say it was.  God knows, it's strange for me to
be defending him: Uli can annoy me just as much as he annoys everyone
else!

> The whole exception stuff in malloc() is impossible to use
> reasonable.  If something goes wrong in malloc() or free(), the
> default (thread-safe) behavior is to print a C backtrace and a
> memory map and terminate the program.  For a VM, this is inadequate,
> because the C backtrace is meaningless, and terminating the program
> is a bad idea, too.  We have our own exception handling.

The trouble with memory rashing bugs is that, in general, it's
extremely hard to recover from them in any reasonable way.  So, in
many cases terminating the programs makes very good sense.

> And first of all, I would expect that a non-thread-safe function for
> otherwise thread-safe stuff (malloc is very explicitely stated to be
> thread- safe) would have a big warning label in the manpage.

So would I.

Andrew.

[toc] | [prev] | [next] | [standalone]


#25903

FromBernd Paysan <bernd.paysan@gmx.de>
Date2013-09-21 20:44 +0200
Message-ID<l1kpe9$fj6$1@online.de>
In reply to#25892
Andrew Haley wrote:

> Bernd Paysan <bernd.paysan@gmx.de> wrote:
>> The whole exception stuff in malloc() is impossible to use
>> reasonable.  If something goes wrong in malloc() or free(), the
>> default (thread-safe) behavior is to print a C backtrace and a
>> memory map and terminate the program.  For a VM, this is inadequate,
>> because the C backtrace is meaningless, and terminating the program
>> is a bad idea, too.  We have our own exception handling.
> 
> The trouble with memory rashing bugs is that, in general, it's
> extremely hard to recover from them in any reasonable way.  So, in
> many cases terminating the programs makes very good sense.

This assumption is pretty wrong in Forth.  Well, I certainly can't continue 
to run the program which uses malloc() and then has a buffer overflow.  But: 
I can certainly keep the normal Forth system running, as this works pretty 
well without using malloc (unless you enter too long lines or so).  That 
allows to examine the corrupted memory, and possibly determine what went 
wrong.

bigForth has its own memory management system, and it adds enough stuff 
around the memory blocks to do sanity checking.  There's a background task 
which regularly sweeps the memory blocks, does compacting of movable blocks 
and also reports corruped blocks; it of course stops when it finds such a 
block.

This was very helpful to eradicate problems.

I'll now check if setting mallopt(M_CHECK_ACTION, 1) is a better way to 
avoid program termination.  It will not throw an exception, it will only 
print that there is a problem, and where it is.  This is of *much* more 
dubious quality than throwing an exception, because you really can't let a 
program continue to run in normal mode after it had corrupted its memory.

>> And first of all, I would expect that a non-thread-safe function for
>> otherwise thread-safe stuff (malloc is very explicitely stated to be
>> thread- safe) would have a big warning label in the manpage.
> 
> So would I.

I think that's the most annoying part.

-- 
Bernd Paysan
"If you want it done right, you have to do it yourself"
http://bernd-paysan.de/

[toc] | [prev] | [next] | [standalone]


#25931

FromAndrew Haley <andrew29@littlepinkcloud.invalid>
Date2013-09-22 05:03 -0500
Message-ID<KfydnaLj9IjHXaPPnZ2dnUVZ_tudnZ2d@supernews.com>
In reply to#25903
Bernd Paysan <bernd.paysan@gmx.de> wrote:
> Andrew Haley wrote:
> 
>> Bernd Paysan <bernd.paysan@gmx.de> wrote:
>>> The whole exception stuff in malloc() is impossible to use
>>> reasonable.  If something goes wrong in malloc() or free(), the
>>> default (thread-safe) behavior is to print a C backtrace and a
>>> memory map and terminate the program.  For a VM, this is
>>> inadequate, because the C backtrace is meaningless, and
>>> terminating the program is a bad idea, too.  We have our own
>>> exception handling.
>> 
>> The trouble with memory [t]rashing bugs is that, in general, it's
>> extremely hard to recover from them in any reasonable way.  So, in
>> many cases terminating the programs makes very good sense.
> 
> This assumption is pretty wrong in Forth.

It's a statement about the C library, and more particularly malloc().
It's true because memory trashing often corrupts malloc()'s own data
structures.  It's also true of Forth if you damage the dictionary.  In
some cases you might be able to recover, of course; but there's no
general way to do so.

>>> And first of all, I would expect that a non-thread-safe function for
>>> otherwise thread-safe stuff (malloc is very explicitely stated to be
>>> thread- safe) would have a big warning label in the manpage.
>> 
>> So would I.
> 
> I think that's the most annoying part.

Mmm.  Patches welcome.  :-)

Andrew.

[toc] | [prev] | [next] | [standalone]


#25946

FromBernd Paysan <bernd.paysan@gmx.de>
Date2013-09-22 21:18 +0200
Message-ID<l1nfq1$prb$1@online.de>
In reply to#25931
Andrew Haley wrote:

> Bernd Paysan <bernd.paysan@gmx.de> wrote:
>> Andrew Haley wrote:
>>> The trouble with memory [t]rashing bugs is that, in general, it's
>>> extremely hard to recover from them in any reasonable way.  So, in
>>> many cases terminating the programs makes very good sense.
>> 
>> This assumption is pretty wrong in Forth.
> 
> It's a statement about the C library, and more particularly malloc().
> It's true because memory trashing often corrupts malloc()'s own data
> structures.  It's also true of Forth if you damage the dictionary.  In
> some cases you might be able to recover, of course; but there's no
> general way to do so.

Usually you don't recover from errors in Forth, but you try to debug the 
situation.  That's the intention of the default debug handling code in 
glibc, but this default code only works for C programs - at least partially.  
The usual cause for this kind of error are buffer overflows, dumping the 
memory in the proximity of the problem also is helpful.

>>>> And first of all, I would expect that a non-thread-safe function for
>>>> otherwise thread-safe stuff (malloc is very explicitely stated to be
>>>> thread- safe) would have a big warning label in the manpage.
>>> 
>>> So would I.
>> 
>> I think that's the most annoying part.
> 
> Mmm.  Patches welcome.  :-)

To the manpage?  That's doable ;-).  To Uli's code?  :-/

-- 
Bernd Paysan
"If you want it done right, you have to do it yourself"
http://bernd-paysan.de/

[toc] | [prev] | [next] | [standalone]


#25902

FromVoidVolker <voidvolker@gmail.com>
Date2013-09-21 11:41 -0700
Message-ID<41d3ebe1-eeec-4d48-bc3c-f054796364bb@googlegroups.com>
In reply to#25847
> Bernd Paysan wrote:
> I've now disabled the use of mcheck(), and this seems to cure the problem. 
> Please try.  I've added mcheck() to make it possible to debug memory errors 
> from within Forth (and getting a meaningful backtrace), but Ulrich Drepper 
> defeats that idea...

Thx! Where/how? I didn't see updates at cvs or github.

[toc] | [prev] | [next] | [standalone]


#25905

FromBernd Paysan <bernd.paysan@gmx.de>
Date2013-09-21 21:18 +0200
Message-ID<l1kred$hvc$1@online.de>
In reply to#25902
VoidVolker wrote:

>> Bernd Paysan wrote:
>> I've now disabled the use of mcheck(), and this seems to cure the
>> problem.
>> Please try.  I've added mcheck() to make it possible to debug memory
>> errors from within Forth (and getting a meaningful backtrace), but Ulrich
>> Drepper defeats that idea...
> 
> Thx! Where/how? I didn't see updates at cvs or github.

In the official git repository of Gforth at Savannah.

git clone git://git.savannah.gnu.org/gforth.git

The github clone is done by Andreas Bolka; I don't know how to contact him.  
I've set up another git clone on GitHub, if people search for that stuff 
there.  Fortunately, it is fairly easy to keep multiple git repos in sync... 
so now you also can get it via

https://github.com/forthy42/gforth.git

or

git@github.com:forthy42/gforth.git

(ssh)

-- 
Bernd Paysan
"If you want it done right, you have to do it yourself"
http://bernd-paysan.de/

[toc] | [prev] | [next] | [standalone]


#25911

FromVoidVolker <voidvolker@gmail.com>
Date2013-09-21 13:55 -0700
Message-ID<0984037e-3d35-4cf2-b08c-4b08fefec53b@googlegroups.com>
In reply to#25905
> I've set up another git clone on GitHub, if people search for that stuff 
> there.  Fortunately, it is fairly easy to keep multiple git repos in sync... 
> so now you also can get it via
> 
> https://github.com/forthy42/gforth.git

Nice! Thx!
Hmm... There are to some problem with date in arch/power/test /d/north.* and /x/north.* - this files have wrong date property. Plz fix it - git under win can't work with them correct.

[toc] | [prev] | [next] | [standalone]


#25913

FromBernd Paysan <bernd.paysan@gmx.de>
Date2013-09-21 23:40 +0200
Message-ID<l1l3ot$sfs$1@online.de>
In reply to#25911
VoidVolker wrote:

>> I've set up another git clone on GitHub, if people search for that stuff
>> there.  Fortunately, it is fairly easy to keep multiple git repos in
>> sync... so now you also can get it via
>> 
>> https://github.com/forthy42/gforth.git
> 
> Nice! Thx!
> Hmm... There are to some problem with date in arch/power/test /d/north.*
> and /x/north.* - this files have wrong date property. Plz fix it - git
> under win can't work with them correct.

Can you please send a detailed log of the problem.  I'm going to check 
myself on Windows, but that means first installing updates to Cygwin... my 
only Windows PC is a Eee PC, not very fast.

-- 
Bernd Paysan
"If you want it done right, you have to do it yourself"
http://bernd-paysan.de/

[toc] | [prev] | [next] | [standalone]


Page 1 of 2  [1] 2  Next page →

Back to top | Article view | comp.lang.forth


csiph-web