Re: [Chicken-users] Amazon S3

2011-02-16 Thread Jörg F . Wittenberger
On Thu, Feb 10, 2011 at 7:08 AM, Moritz Heidkamp mor...@twoticketsplease.de wrote: Hi Jörg, Jörg F. Wittenberger joerg.wittenber...@softeyes.net writes: find attached some code of mine using openssl for that hashes and hmacs pretty cool, although the openssl dependency might be a bit heavy

Re: [Chicken-users] Amazon S3

2011-02-16 Thread Jörg F . Wittenberger
On Feb 16 2011, Christian Kellermann wrote: Hey Jorg! * Jörg F. Wittenberger joerg.wittenber...@softeyes.net [110216 11:43]: - I've got a next to no experience with egg infrastructure and development. - Hence: no test infrastructure. - There's quite some code here, which would make a good egg

Re: [Chicken-users] is there any existing code for ...

2011-06-22 Thread Jörg F . Wittenberger
Hi! I do. I do these things on a daily basis. And only a handful developers too. See: www.askemos.org - it's a many years old project, which enables you to run _almost_ arbitrary code on several machines in byzantine agreement. What you're calling for is, what our debug level access does.

[Chicken-users] strange warning

2011-06-23 Thread Jörg F . Wittenberger
Hi all, I just upgraded to the chicken trunk from version 4.6.5. Now I get a can full of warnings like: Warning: (in k9353) constant-folding expression results in error: bad argument type - not a proper list: (reverse (quote #f)) Warning: (in k9436) constant-folding expression results in

Re: [Chicken-users] strange warning

2011-06-24 Thread Jörg F . Wittenberger
On Jun 24 2011, Felix wrote: I just upgraded to the chicken trunk from version 4.6.5. Now I get a can full of warnings like: Warning: (in k9353) constant-folding expression results in error: bad argument type - not a proper list: (reverse (quote #f)) Warning: (in k9436) constant-folding

Re: [Chicken-users] About peformance of user defined procedures

2011-08-01 Thread Jörg F . Wittenberger
just a wild guess: On Jul 31 2011, Pedro Henrique Antunes de Oliveira wrote: Hey. I have a file map.scm, which contais this code: (define (mymap1 op ls) (let loop ((ls ls) (acc '())) (if (null? ls) (reverse acc) (loop (cdr ls) (cons (op (car ls)) acc)

Re: [Chicken-users] About peformance of user defined procedures

2011-08-01 Thread Jörg F . Wittenberger
like (procedure? op) (it is possible for that to be done in this case), which would speed that up. I've tried compiling with csc -O3 -unsafe (to avoid those checks if something is a procedure or not), and no actual difference too. On Mon, Aug 1, 2011 at 2:36 PM, Jörg F. Wittenberger

Re: [Chicken-users] About peformance of user defined procedures

2011-08-03 Thread Jörg F . Wittenberger
On Aug 1 2011, Kon Lovett wrote: On Aug 1, 2011, at 1:05 PM, Jörg F. Wittenberger wrote: On Aug 1 2011, Pedro Henrique Antunes de Oliveira wrote: Interesting point. But I tried it out. In average, it took about the same amount of time (actualy this was about 0.1s slower). Looking closer

[Chicken-users] Interesting case.

2011-08-11 Thread Jörg F . Wittenberger
I ran into some old code, which might never have been used; however now it compiles with warning: access to variable `tmp7448' which has an undefined value The code itself was silly, however: the procedure had a rest argument by the name of values, i.e.: (define (sillything a b . values) ...)

Re: [Chicken-users] 4.7.3 development snapshot -- buildtag.h ??

2011-08-22 Thread Jörg F . Wittenberger
On Aug 18 2011, Felix wrote: Hello! A new development snapshot is available: http://code.call-cc.org/dev-snapshots/2011/08/17/chicken-4.7.3.tar.gz Note: the banner shows (no branch), which is incorrect (and fixed in trunk), so just ignore this. Great, I thought. But then I ignored the

Re: [Chicken-users] 4.7.3 development snapshot -- buildtag.h ??

2011-08-22 Thread Jörg F . Wittenberger
confident that this would not what I need. On Aug 22 2011, Felix wrote: From: Jörg F. Wittenberger joerg.wittenber...@softeyes.net Subject: Re: 4.7.3 development snapshot -- buildtag.h ?? Date: 22 Aug 2011 11:23:47 +0200 On Aug 18 2011, Felix wrote: Hello! A new development snapshot

Re: [Chicken-users] 4.7.3 development snapshot

2011-08-23 Thread Jörg F . Wittenberger
Hi all, I feel some comments might be worth to be written up. On Aug 18 2011, Felix wrote: A new development snapshot is available: http://code.call-cc.org/dev-snapshots/2011/08/17/chicken-4.7.3.tar.gz Note: the banner shows (no branch), which is incorrect (and fixed in trunk), so just

[Chicken-users] process-wait

2011-09-01 Thread Jörg F . Wittenberger
For quite some time I've been wondering why my app runs only about twice as fast on chicken compared to rscheme (given the benchmark style performance of chicken code). strace was my friend to pin this down to process-wait. From the manual: Suspends the current process...Note that suspending

Re: [Chicken-users] process-wait

2011-09-01 Thread Jörg F . Wittenberger
On Sep 1 2011, chi...@bmedctr.com wrote: The idea is to convert (process-wait pid #f) into (process-wait pid #t) and block the current tread only when the first result is zero. Sounds indeed frustrating. I've run across similar problems while writing a multitasking web server. It uses

Re: [Chicken-users] process-wait

2011-09-01 Thread Jörg F . Wittenberger
wrote: Hi Jörg, On 01 Sep 2011 19:55:17 +0200 Jörg F. Wittenberger joerg.wittenber...@softeyes.net wrote: On Sep 1 2011, chi...@bmedctr.com wrote: Hope I haven't missed something you were getting at. Not exactly. But at this time my bet is different issue. My hypothesis is that there's

Re: [Chicken-users] Fwd: Re: process-wait

2011-09-02 Thread Jörg F . Wittenberger
On Sep 2 2011, Jörg F. Wittenberger wrote: 3. It might be all much easier to rearrange cicken different way to allow real code in signal handlers. (mutex-unlock! is already proven to be real code in that case, i.e., *will* hang eventually.) There is one better way (phenomenologically

Re: [Chicken-users] Fwd: Re: process-wait

2011-09-03 Thread Jörg F . Wittenberger
On Sep 2 2011, Jörg F. Wittenberger wrote: 3. It might be all much easier to rearrange cicken different way to allow real code in signal handlers. (mutex-unlock! is already proven to be real code in that case, i.e., *will* hang eventually.) ... This one does not try to handle POSIX

Re: [Chicken-users] Fwd: Re: process-wait

2011-09-03 Thread Jörg F . Wittenberger
On Sep 3 2011, Alan Post wrote: but it is important to me to be able to wait for children I spawn and collect their exit status--this is a feature I use and need to retain. If the runtime is going to change the way that this works, I still need the ability to check the status of my child

[Chicken-users] chicken interupt handling

2011-09-04 Thread Jörg F . Wittenberger
Hi (Felix ;-), I wonder if there is a bug in the runtime.c concerning interrupt handling. But I don't understand the code enough. C_raise_interrupt will do C_regparm void C_fcall C_raise_interrupt(int reason) { if(C_interrupts_enabled) { saved_stack_limit = C_stack_limit; #if

[Chicken-users] git build broken?

2011-09-04 Thread Jörg F . Wittenberger
Hi, I just did a git pull and found irregex.scm not compiling. wrong argument (car) passed to not or so. The quick quess: revert to the old types.db to compile this single file seems to work out. /Jerry . ___ Chicken-users mailing list

Re: [Chicken-users] chicken interupt handling

2011-09-05 Thread Jörg F . Wittenberger
Hi, I'm afraid the problem as such is gone. At least I've got some fresh hope. The code with the flag mentioned in my message is already gone for me again. For one thing I've been able to convince myself that C_raise_interrupt is correctly called in the global_signal_handler before the signal

Re: [Chicken-users] git build broken?

2011-09-05 Thread Jörg F . Wittenberger
Recompiling with the new chicken solved that one. Sight. On Sep 4 2011, Jörg F. Wittenberger wrote: Hi, I just did a git pull and found irregex.scm not compiling. wrong argument (car) passed to not or so. ___ Chicken-users mailing list Chicken

[Chicken-users] tcp-*-timeout in types.db incorrect?

2011-09-05 Thread Jörg F . Wittenberger
I made chicken print out funny logic! given tcp-accept-timeout set to #f I've seen the code taking the path supposed to be called with a number. (See my recent message http://lists.nongnu.org/archive/html/chicken-users/2011-08/msg00074.html where I fixed the problem by passing the value through

[Chicken-users] types.db incorrect

2011-09-05 Thread Jörg F . Wittenberger
I found (and in this case have a fix to) one more fatal error in types.db. thread-join! correctly return multiple values if the thread terminates yielding multiple values. However with the latest changes, I've seen several arity errors - and nothing did work anymore. This little diff however

Re: [Chicken-users] types.db incorrect

2011-09-05 Thread Jörg F . Wittenberger
On Sep 5 2011, Jörg F. Wittenberger wrote: how would I turn the consequence - which is wrong code at this time - into a warning? Once the mail has been sent off... I know what I'm asking for: So far types.db is apparently being used to rely in the code generation on the assertions made

Re: [Chicken-users] types.db incorrect

2011-09-08 Thread Jörg F . Wittenberger
On Sep 6 2011, Felix wrote: What I would really have a use for was, if the assertions from types.db or whatever I pass with additional -types parameters would be turned into runtime assertions (before call and before return) if, and only if, I pass a certain switch to the compiler. Can you

Re: [Chicken-users] types.db incorrect

2011-09-08 Thread Jörg F . Wittenberger
On Sep 6 2011, Felix wrote: Thanks agauin, Joerg. I pushed this change as well. If not, how would I turn the consequence - which is wrong code at this time - into a warning? You can check the results of specialization with -debug P (which dumps the program after specialization has taken

Re: [Chicken-users] types.db incorrect

2011-09-08 Thread Jörg F . Wittenberger
On Sep 6 2011, Felix wrote: Thanks agauin, Joerg. I pushed this change as well. If not, how would I turn the consequence - which is wrong code at this time - into a warning? You can check the results of specialization with -debug P (which dumps the program after specialization has taken

Re: [Chicken-users] chicken interupt handling

2011-09-08 Thread Jörg F . Wittenberger
On Sep 5 2011, John Cowan wrote: Jörg F. Wittenberger scripsit: But not being allowed to allocate memory in the signal handler was still too much of a road block for me. Unfortunately, that's what Posix says. If you look at the table at Wait, no! POSIX is concerned about the POSIX level

Re: [Chicken-users] types.db incorrect

2011-09-10 Thread Jörg F . Wittenberger
On Sep 8 2011, Felix wrote: Unfortunately this situation paralyses me. I too much depend on it. Does it work with specialization turned off? (-O2 only) Dunno. I went into punch-the-head-through-the-wall mode. Got the problem fixed. It turned out to be a abuse of code never intended to be

[Chicken-users] superflous definition in library.scm?

2011-09-12 Thread Jörg F . Wittenberger
Hi, I just ran into a bug of the old environment code no longer working. (I red about that one, but haven't seen it so far.) Along the way I noticed that there is a definition ##sys#walk-namespace in library.scm - is this actually used anywhere or just code left over waiting for it's removal?

[Chicken-users] environment egg - any replacement?

2011-09-12 Thread Jörg F . Wittenberger
btw: thanks for the congratulations. Stay tuned! It's been a pre-announcement for an almost seen event. Well, the event was there, but not enough testing. Or let's say: the execution environment of Askemos is *supposed* to heal malfunction of a particular node by re-synchronizing to a common

Re: [Chicken-users] environment egg - any replacement?

2011-09-12 Thread Jörg F . Wittenberger
On Sep 12 2011, Kon Lovett wrote: So: I've been using the environment eggs code for some things. This does not work any longer. I'd rather like to keep the code compatibility with rscheme and chicken's veal. I thought he environments egg worked for Chicken 4.7.4; simple tests work for me

Re: [Chicken-users] environment egg - any replacement?

2011-09-13 Thread Jörg F . Wittenberger
On Sep 12 2011, Felix wrote: There will be a replacement, but it will need some modifications in the evaluator. Do you evaluate a lot of code, are the environments long- or short-lived and small or large? Do you reuse them or create many environments on the fly? Good questions, the answer is:

Re: [Chicken-users] Code for parsing multipart/form-data

2011-09-22 Thread Jörg F . Wittenberger
On Sep 20 2011, Santosh Rajan wrote: Hi, I am looking for chicken code for parsing multipart/form-data. Can anyone point me to the code please? Sure it must be there somewhere, at least in the web server code. There is also at http://ball.askemos.org/InstallResources the Code for Askemos.

Re: [Chicken-users] Code for parsing multipart/form-data

2011-09-24 Thread Jörg F . Wittenberger
On Sep 22 2011, Moritz Heidkamp wrote: Hi Jörg, Jörg F. Wittenberger joerg.wittenber...@softeyes.net writes: There is also at http://ball.askemos.org/InstallResources the Code for Askemos. It's maintained. (Runs at all the servers of askemos.org at this moment 3 hosts with Chicken and 3

[Chicken-users] a memory issue; mildly scaring to me

2011-09-24 Thread Jörg F . Wittenberger
Hi, I'm facing a strange issue. My program normally runs quite well. Just once upon a time (that is sometimes only after hours plus a sleep mode, however under certain circumstances upon ~70% of starts within the first few seconds) it will start to eat memory as if it where electricity.

Re: [Chicken-users] a memory issue; mildly scaring to me

2011-09-24 Thread Jörg F . Wittenberger
On Sep 24 2011, Peter Bex wrote: On Sat, Sep 24, 2011 at 06:08:13PM +0200, Jörg F. Wittenberger wrote: Hi, I tried to change the procedure and instead of those 3 lines I left a return 1; there. This seems at least to work well for some simple checks in csi. But my app will now: a) run

Re: [Chicken-users] a memory issue; mildly scaring to me

2011-09-24 Thread Jörg F . Wittenberger
On Sep 24 2011, Peter Bex wrote: Please try the current master first; it contains some bugfixes to the types database, which make those irregex errors go away (changeset 0fbbba9d5fc0dcce7b2364beaf3396d501967d0e). So I did (I hope). Remaining Note:-labeld warnings in irregex.scm which look as

Re: [Chicken-users] a memory issue; mildly scaring to me

2011-09-24 Thread Jörg F . Wittenberger
On Sep 24 2011, Jörg F. Wittenberger wrote: On Sep 24 2011, Peter Bex wrote: Please try the current master first; it contains some bugfixes to the types database, which make those irregex errors go away (changeset 0fbbba9d5fc0dcce7b2364beaf3396d501967d0e). To be sure, I recompiled my prog

Re: [Chicken-users] a memory issue; mildly scaring to me

2011-09-25 Thread Jörg F . Wittenberger
from swap workload. On Sep 24 2011, Peter Bex wrote: On Sat, Sep 24, 2011 at 06:08:13PM +0200, Jörg F. Wittenberger wrote: Hi, I tried to change the procedure and instead of those 3 lines I left a return 1; there. This seems at least to work well for some simple checks in csi. But my app

Re: [Chicken-users] a memory issue; mildly scaring to me

2011-09-26 Thread Jörg F . Wittenberger
On Sep 25 2011, Peter Bex wrote: On Sun, Sep 25, 2011 at 12:36:23PM +0200, Jörg F. Wittenberger wrote: I'm still kinda lost. Is there any documentation I could read to understand a little more of irregex code? The source says it should run on any Scheme; just not how. ;-) The *portable

Re: [Chicken-users] a memory issue; mildly scaring to me

2011-09-26 Thread Jörg F . Wittenberger
On Sep 26 2011, Jörg F. Wittenberger wrote: The fact that the irregex code is modified give me hope that it is reasonable to analyse that part in more detail. Things are getting harder to understand for me. AFAIK ##sys#setislot is for immediate objects only. irregex.scm/build-cache -however

Re: [Chicken-users] a memory issue; mildly scaring to me

2011-09-26 Thread Jörg F . Wittenberger
On Sep 26 2011, Jörg F. Wittenberger wrote: My bet by now is that the off-by-one is there and ought to be fixed. However another bug relies on it, which would trigger the endless recursion. So we will need to kill both at once. Worse: I found that the off-by-one might not be there. The code

Re: [Chicken-users] a memory issue; mildly scaring to me

2011-09-26 Thread Jörg F . Wittenberger
On Sep 26 2011, Jörg F. Wittenberger wrote: The fact that the irregex code is modified give me hope that it is reasonable to analyse that part in more detail. While it does not fix the problem at hand: There is a suspicious line in regex-core.scm : it reads: (printing or graphic

Re: [Chicken-users] a memory issue; mildly scaring to me

2011-09-26 Thread Jörg F . Wittenberger
While it does not fix the problem at hand: There is a suspicious line in regex-core.scm : it reads: (printing or graphic whitespace) IMHO it should read: (printing . (or graphic whitespace)) BTW: I know that those are the same. It's just confusing the reader, when the same list

[Chicken-users] define-compilter-syntax / define-syntax -- a quastion // posibly a bug

2011-09-26 Thread Jörg F . Wittenberger
Hi, I've got a question wrt. the scope of definitions in chicken core units: How does it come that some definitions are visible at top level eventually, while some are used in the compilation unit only? E.g., SRFI-1. It lives in it's own file. irregex defines some simplified versions too.

Re: [Chicken-users] a memory issue; mildly scaring to me

2011-09-26 Thread Jörg F . Wittenberger
I kinda confirmed that the possible problems I reported here are more an aesthetic issue wrt. comprehensibility of code. At least I made sure that *none* of those suspicious looking calls where ever made in my case. On Sep 26 2011, Jörg F. Wittenberger wrote: While it does not fix the problem

[Chicken-users] obsolete code

2011-09-26 Thread Jörg F . Wittenberger
I found theses definitions in the irregex code mirroring srfi-1 simplified cases. (define (filter pred ls) (let lp ((ls ls) (res '())) (if (null? ls) (reverse res) (lp (cdr ls) (if (pred (car ls)) (cons (car ls) res) res) (define (remove pred ls) (let lp ((ls ls) (res

[Chicken-users] irregex.scm

2011-09-26 Thread Jörg F . Wittenberger
While I've been tampering with the irregex code I found that adding this (define-compiler-syntax any (syntax-rules () ((_ pred ls) (and (pair? ls) (let lp ((head (car ls)) (tail (cdr ls))) (if (null? tail) (pred head) (or (pred head)

Re: [Chicken-users] obsolete code

2011-09-27 Thread Jörg F . Wittenberger
On Sep 27 2011, Alex Shinn wrote: On Tue, Sep 27, 2011 at 3:39 AM, Jörg F. Wittenberger joerg.wittenber...@softeyes.net wrote: I found theses definitions in the irregex code mirroring srfi-1 simplified cases. (define (filter pred ls) (let lp ((ls ls) (res '())) (if (null? ls

[Chicken-users] two minor tweaks to runtime.c

2011-09-27 Thread Jörg F . Wittenberger
While I've been looking at the code I wondered if the C compiler will fur sure pull that one test out of the for-loop. Maybe it's better no have it there at the first place. IMHO the code is not more confusing to read this way and should run better in case the C compiler is not smart enough.

Re: [Chicken-users] two minor tweaks to runtime.c

2011-09-27 Thread Jörg F . Wittenberger
On Sep 27 2011, Peter Bex wrote: On Tue, Sep 27, 2011 at 03:22:06PM +0200, Jörg F. Wittenberger wrote: While I've been looking at the code I wondered if the C compiler will fur sure pull that one test out of the for-loop. Maybe it's better no have it there at the first place. IMHO the code

[Chicken-users] another proposal to modify runtime.c

2011-09-28 Thread Jörg F . Wittenberger
I can't resist to propose another minor code improvement. For this one I even recall where I learned the trick: early in my CS studies, we been taken to analyse how we could do better than the straight forward implementation of double linked lists. (Which would be the implementation of e.g., the

Re: [Chicken-users] EINTR with self-pipe signal trampoline

2011-09-29 Thread Jörg F . Wittenberger
On Sep 29 2011, Alan Post wrote: Below is a test case for a problem I'm seeing in some multi-process code I'm writing. I'm getting the error: Error: (file-read) cannot read from file - Interrupted system call There are two ways to fix that: either make the posix unit thread safe (recall my

Re: [Chicken-users] two minor tweaks to runtime.c

2011-09-29 Thread Jörg F . Wittenberger
On Sep 29 2011, Alan Post wrote: On Thu, Sep 29, 2011 at 12:09:19PM +0900, Alex Shinn wrote: On Thu, Sep 29, 2011 at 11:40 AM, Alan Post alanp...@sunflowerriver.org wrote: Will you show me this data for the current implementation? The first implementation doesn't need to justify itself,

Re: [Chicken-users] difference between ##sys#error and posix-error?

2011-09-29 Thread Jörg F . Wittenberger
On Sep 29 2011, Alaric Snell-Pym wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 09/29/2011 08:36 AM, Christian Kellermann wrote: Hi Alan! * Alan Post alanp...@sunflowerriver.org [110929 05:51]: Looking at posixunix.scm, I find that some error messages are produced with ##sys#error,

Re: [Chicken-users] two minor tweaks to runtime.c

2011-09-29 Thread Jörg F . Wittenberger
On Sep 29 2011, Alaric Snell-Pym wrote: On 09/29/2011 12:38 PM, Jörg F. Wittenberger wrote: I don't not have benchmarks for a reason: they would cost me too much time to do right. Personally I don't believe too much in benchmarks anyway. I believe in fast execution and source code review

Re: [Chicken-users] EINTR with self-pipe signal trampoline

2011-09-29 Thread Jörg F . Wittenberger
On Sep 29 2011, Alan Post wrote: On Thu, Sep 29, 2011 at 01:11:49PM +0200, Jörg F. Wittenberger wrote: On Sep 29 2011, Alan Post wrote: Below is a test case for a problem I'm seeing in some multi-process code I'm writing. I'm getting the error: Error: (file-read) cannot read from file

Re: [Chicken-users] remove enable/disable interrupt flag

2011-09-29 Thread Jörg F . Wittenberger
On Sep 29 2011, Alan Post wrote: This patch removes the enable/disable interrupt flag from the scheduled. I can't see that this code is referenced. I'm not sure someone would just write this feature for fun, however. Is this code actually used? Be careful! I found it to be win to actually

Re: [Chicken-users] EINTR with self-pipe signal trampoline

2011-09-29 Thread Jörg F . Wittenberger
On Sep 29 2011, Alan Post wrote: On Thu, Sep 29, 2011 at 03:26:22PM +0200, Jörg F. Wittenberger wrote: Signal handlers as they are in chicken might be problematic. I can't find the message, but I recall a reply these days, which informed me that it's true that chicken interrupt handlers

Re: [Chicken-users] replace signal with sigaction

2011-09-29 Thread Jörg F . Wittenberger
On Sep 29 2011, John Cowan wrote: Alan Post scripsit: It used to be one tested for sigaction in the same way you might test for other features. I'm not sure if chicken runs on a platform that doesn't have sigaction--do I need to add a feature test for this and preserve the existing

Re: [Chicken-users] remove enable/disable interrupt flag

2011-09-29 Thread Jörg F . Wittenberger
On Sep 29 2011, Alaric Snell-Pym wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 09/29/2011 02:43 PM, Jörg F. Wittenberger wrote: (define (chicken-enable-interrupts!) (set! C_interrupts_enabled #t)) (define chicken-disable-interrupts! (foreign-lambda void C_disable_interrupts)) (let

Re: [Chicken-users] replace signal with sigaction

2011-09-29 Thread Jörg F . Wittenberger
Here an interesting finding: On Sep 29 2011, Alan Post wrote: This patch replaces signal with sigaction for registering signals. sigaction is a newer API for signal processing that fixes some deficiencies of the original signal API. One fix can be seen in this patch: we don't have to

Re: [Chicken-users] remove enable/disable interrupt flag

2011-09-29 Thread Jörg F . Wittenberger
On Sep 29 2011, Alaric Snell-Pym wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 09/29/2011 04:25 PM, Jörg F. Wittenberger wrote: POSIX says that fork needs to produce only a single surviving POSIX thread in the child. Perhaps Chicken fork needs to do the same with Chicken threads

Re: [Chicken-users] remove enable/disable interrupt flag

2011-09-29 Thread Jörg F . Wittenberger
On Sep 29 2011, Alan Post wrote: The way Chicken is currently implemented, any signal that arrives during this time is discarded, which also makes me unhappy with this Wait, I'm confused. During which time signals are really discarded? As far as I read the source, the signal will be

Re: [Chicken-users] EINTR with self-pipe signal trampoline

2011-09-29 Thread Jörg F . Wittenberger
On Sep 29 2011, Alan Post wrote: Let me try a demonstration showing just the main thread: (define (restart-read fd buf isize) ; call read(2), on the self-pipe, which blocks (let ((r (file-read fd buf isize))) (if (= -1 r) ; ah, a signal was delivered. In Chicken, the signal

Re: [Chicken-users] remove enable/disable interrupt flag

2011-09-29 Thread Jörg F . Wittenberger
On Sep 29 2011, Alan Post wrote: On Thu, Sep 29, 2011 at 06:56:03PM +0200, Jörg F. Wittenberger wrote: On Sep 29 2011, Alan Post wrote: The way Chicken is currently implemented, any signal that arrives during this time is discarded, which also makes me unhappy with this Wait, I'm confused

Re: [Chicken-users] EINTR with self-pipe signal trampoline

2011-09-29 Thread Jörg F . Wittenberger
On Sep 29 2011, Jörg F. Wittenberger wrote: On Sep 29 2011, Alan Post wrote: Let me try a demonstration showing just the main thread: (define (restart-read fd buf isize) ; call read(2), on the self-pipe, which blocks (let ((r (file-read fd buf isize))) (if (= -1 r) ; ah

Re: [Chicken-users] remove enable/disable interrupt flag -- SORRY

2011-09-29 Thread Jörg F . Wittenberger
On Sep 29 2011, Jörg F. Wittenberger wrote: Wait, I'm confused. Obviously I am. I've been talking nonsense. Sorry for the confusion. Finalizers and signal handlers are run with the same restrictions on allocating memory. (My confusion came from the idea in the back of my head, that I

[Chicken-users] valgrind

2011-09-29 Thread Jörg F . Wittenberger
I'm still asking myself why I can't run chicken program under valgrind. Since there's a lot going on at this time I'm about to forget. Hence here an update for those who care and the archive. I've traced the call coming from irregex.c down to valgrind complaining as soon as *all-chars* value is

Re: [Chicken-users] valgrind

2011-09-29 Thread Jörg F . Wittenberger
On Sep 29 2011, Alan Post wrote: Since it seems as good a day as any for wild-ass speculation, what about this scenario: We allocate an object, set the tag pointer, but don't fill out all of the memory yet. We're yet to need it. Oops! The gc gets called, and that object has to move. So we

Re: [Chicken-users] remove enable/disable interrupt flag

2011-09-29 Thread Jörg F . Wittenberger
On Sep 29 2011, Alan Post wrote: Hence my question how to clean up the API. Default to possibly useless re-calling the handler (while it assumes possibly having missed a signal and hence re-check everything)? Provide a modified API which covers both cases? ... It may have been posted before

Re: [Chicken-users] remove enable/disable interrupt flag

2011-09-29 Thread Jörg F . Wittenberger
On Sep 29 2011, Alan Post wrote: On Thu, Sep 29, 2011 at 10:20:28PM +0200, Jörg F. Wittenberger wrote: On Sep 29 2011, Alan Post wrote: Hence my question how to clean up the API. Default to possibly useless re-calling the handler (while it assumes possibly having missed a signal and hence

[Chicken-users] tests/match-tests.scm

2011-09-30 Thread Jörg F . Wittenberger
the file is mentioned in distribution/manifest but not in the directory ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users

Re: [Chicken-users] replace signal with sigaction

2011-09-30 Thread Jörg F . Wittenberger
Now let's see how we can use those modifications. This code is far from what I'd like it to be. It starts out with the idea, that it tries to resemble the process-wait API as it stands. However in the presence of green threads I feel that the API is not the best we could have. This translates

Re: [Chicken-users] remove enable/disable interrupt flag

2011-09-30 Thread Jörg F . Wittenberger
On Sep 30 2011, Alan Post wrote: I think your point about signal being a wrapper around sigaction deserves to be repeated: it's my understanding too, and means that as it stands, my sigaction patch is essentially or completely a no-op on most platforms. Jerry's experience with it confusingly

Re: [Chicken-users] replace signal with sigaction

2011-09-30 Thread Jörg F . Wittenberger
On Sep 30 2011, Jörg F. Wittenberger wrote: ;; Now a tentatively replacement for process-wait. I'm not using ;; That anywhere. Falls back to the state of affairs in pid=0 (define (alt-process-wait pid nohang) (if (= pid 0) (process-wait pid nohang (if nohang (process

Re: [Chicken-users] replace signal with sigaction

2011-09-30 Thread Jörg F . Wittenberger
Alan, I figured that you did almost have you for the process-io-ports code I cited the other day. It might make your live easier, if I just post the code as I'm using it right now. Be warned: it does one thing NOT. When there is a bad fd encountered while reading/writing to a fd, the

Re: [Chicken-users] replace signal with sigaction

2011-09-30 Thread Jörg F . Wittenberger
On Sep 30 2011, Jörg F. Wittenberger wrote: Alan, I figured that you did almost have you for the process-io-ports code I cited the other day. Alan, another warning: I just fixed a case of EINTR, where the code shows strong heritage from the tcp unit. (I wrote some parallel code base

Re: [Chicken-users] replace signal with sigaction

2011-09-30 Thread Jörg F . Wittenberger
On Sep 30 2011, Alan Post wrote: Thank you for this. I notice, right away, that your io_needs_restart handles EAGAIN in the same way it handles EINTR. I have always introduced a timeout when I get an EAGAIN, and I give up after say 3 tries. While I can follow the reasoning, it might not (or

Re: [Chicken-users] replace signal with sigaction

2011-09-30 Thread Jörg F . Wittenberger
There is one thing about the modified signaling: I now can better see from the signal handler what all the thread states are. The bad (good actually, wild guesses before) news: it *is* possible to end up with the current thread state as blocked. However I just found out, and the thread which is

Re: [Chicken-users] EINTR with self-pipe signal trampoline

2011-10-01 Thread Jörg F . Wittenberger
Thanks Mario. I just checked. The Scheduler code I'm using does not have this bug. On Sep 29 2011, Mario Domenech Goulart wrote: Hi Jörg, On 29 Sep 2011 13:11:49 +0200 Jörg F. Wittenberger joerg.wittenber...@softeyes.net wrote: Recently (maybe 4.7.3 or .4) I'm seeing missbehavior from

[Chicken-users] Question again on heap mutation from signal handlers.

2011-10-02 Thread Jörg F . Wittenberger
Kon (or maybe Felix) On Sep 1 2011, Kon Lovett wrote: Probably of no use to you but … When I added all the extra unix (Chicken v2 I think) signals stuff I figured (ha) that a Scheme signal handler could only perform operations that accessed existing structures, no heap mutation. I used

Re: [Chicken-users] replace signal with sigaction

2011-10-02 Thread Jörg F . Wittenberger
Hi, in this message http://lists.nongnu.org/archive/html/chicken-users/2011-09/msg00292.html I sent out a strange bug. Sorry for that. The child-registering fork() should be: (define (save-fork) (let* ((ie (##sys#fudge 14)) (pid (begin (chicken-disable-interrupts!)

Re: [Chicken-users] Question again on heap mutation from signal handlers.

2011-10-02 Thread Jörg F . Wittenberger
On Oct 2 2011, Jörg F. Wittenberger wrote: Kon (or maybe Felix) On Sep 1 2011, Kon Lovett wrote: Probably of no use to you but … When I added all the extra unix (Chicken v2 I think) signals stuff I figured (ha) that a Scheme signal handler could only perform operations that accessed

[Chicken-users] more on types.db

2011-10-03 Thread Jörg F . Wittenberger
In types.db there is: (##sys#foreign-pointer-argument (#(procedure #:clean #:enforce) ##sys#foreign-pointer-argument (pointer) pointer) ((pointer) #(1))) I don't have a good guess what the second list in the declaration ((pointer) #(1)) means. Nevertheless, I have some code, which checks that

[Chicken-users] valgrind - more details

2011-10-05 Thread Jörg F . Wittenberger
I managed to narrow the valgrind complaint's scope: Try as a test: valgrind --log-file=/tmp/csi.vg --track-origins=yes csi -e (vector 'a 'b) The result in /tmp/csi.vg looks good. However try: valgrind --log-file=/tmp/csi.vg --track-origins=yes csi -e 42 and run into an example of the

Re: [Chicken-users] valgrind - more details

2011-10-05 Thread Jörg F . Wittenberger
On Oct 5 2011, Jörg F. Wittenberger wrote: ==13112== Conditional jump or move depends on uninitialised value(s) ==13112== at 0x510393E: C_a_i_string_to_number (in While I've been following this valgrind hint I ran into some code in C_a_i_string_to_number ... as expectable this code is kinda

Re: [Chicken-users] valgrind - more details

2011-10-05 Thread Jörg F . Wittenberger
On Oct 5 2011, Jörg F. Wittenberger wrote: I found two occurrences of strlen (C_strlen that is), which would for no good reason scan the memory while the result could be computed by simple pointer arithmetic: @@ -7519,19 +7515,19 @@ errno = 0; ... Sorry. Somehow cutpaste made a mess

Re: [Chicken-users] valgrind - more details

2011-10-06 Thread Jörg F . Wittenberger
On Oct 5 2011, Christian Kellermann wrote: Hi Christian, Dear Jörg, * Jörg F. Wittenberger joerg.wittenber...@softeyes.net [111005 22:29]: While I've been following this valgrind hint I ran into some code in C_a_i_string_to_number ... as expectable this code is kinda complicated since

Re: [Chicken-users] valgrind - more details

2011-10-06 Thread Jörg F . Wittenberger
On Oct 6 2011, Peter Bex wrote: Furthermore: Also I changed my mind: I'm afraid numbers in Scheme are complex enough to use a real parser to read them. I agree. There's pure Scheme code for parsing numbers syntax in trunk of the numbers egg (and the latest release has it too). It's not

[Chicken-users] news from the valgrind front

2011-10-07 Thread Jörg F . Wittenberger
I ran into another valgrind message. This one comes up *only* if -:g is given (that is gc_report_flag == 1), and only if we come to never_mind_edsgar: by goto. In that case the variable cont might be not initialized, and valgrind complains as it should. So far it looks as if setting count

[Chicken-users] more: news from the valgrind front - another test case

2011-10-07 Thread Jörg F . Wittenberger
There is one more - very interesting - occurrence of valgrind complaints, which point towards some possible (or highly probably that is) issue. # Current Situation I've got a pretty complex program from which I'm trying to derive test cases. At this time I see this program run for quite some

Re: [Chicken-users] more: news from the valgrind front - another test case

2011-10-07 Thread Jörg F . Wittenberger
On Oct 7 2011, Alan Post wrote: Given the odd behavior you're experiencing, I would suggest expanding your test case: Good point. Here the results: Now watch the interesting value (should be all 4 true a/a,i/i,a/i,i/a): #t#t#f#f That is: (equal? *all-chars* *all-chars*) = #t (equal? `(/

Re: [Chicken-users] more: news from the valgrind front - another test case

2011-10-08 Thread Jörg F . Wittenberger
) C_CHAR_BIT_MASK) #define C_flonum_magnitude(x) (*((double *)(((C_SCHEME_BLOCK *)(x))-data))) #define C_c_string(x) ((C_char *)(((C_SCHEME_BLOCK *)(x))-data)) On Oct 7 2011, Jörg F. Wittenberger wrote: On Oct 7 2011, Alan Post wrote: Given the odd behavior you're experiencing, I would suggest

Re: [Chicken-users] more: news from the valgrind front - another test case

2011-10-08 Thread Jörg F . Wittenberger
On Oct 8 2011, Alan Post wrote: This came to my mail reader manged, I'm not sure I'm reading it correctly. I don't think the line breaks were properly preserved. If I'm reading it correctly, this pattern could well be repeated incorrectly in other #define lines nearby--I'd want to check

[Chicken-users] another news from the valgrind front

2011-10-11 Thread Jörg F . Wittenberger
Peter, I've got one more issue fixed wrt. the fix I posted recently https://lists.nongnu.org/archive/html/chicken-users/2011-10/txtQD3AT30Qxp.txt Since I'm recovering from a big mess I made out of my build envt. Here only a description: In C_a_i_string_to_number there is exactf declared but

[Chicken-users] c-string return question

2011-10-13 Thread Jörg F . Wittenberger
Hi, ages ago I wrote these simple lines: (define integer-utf8string (foreign-lambda* c-string ((unsigned-integer ch)) static C_uchar off[6]={0xFC,0xF8,0xF0,0xE0,0xC0,0x00}; int size=5; C_uchar buf[7]; buf[6]='\\0'; if (ch 0x80) { buf[5]=ch; } else { buf[size--]=(ch0x3F)|0x80;

Re: [Chicken-users] c-string return question

2011-10-13 Thread Jörg F . Wittenberger
On Oct 13 2011, John Cowan wrote: Jörg F. Wittenberger scripsit: (define integer-utf8string (foreign-lambda* c-string ((unsigned-integer ch)) static C_uchar off[6]={0xFC,0xF8,0xF0,0xE0,0xC0,0x00}; int size=5; C_uchar buf[7]; buf[6]='\\0'; if (ch 0x80) { buf[5]=ch; } else { buf

  1   2   3   4   >