This is the mail archive of the ecos-patches@sources.redhat.com mailing list for the eCos project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Attached for your review is a patch that adds SIGEV_THREAD support to the POSIX signal delivery subsystem. By default, this functionality will be disabled. An overview of the enhancement is as follows: 1) SIGEV_THREAD notifications are generated using the sigevent signalling mechanism. Since these notifications create threads, they must be processed from thread context. 2) Since signal events can often occur in DSR contexts, a system thread is started at boot time to process the SIGEV_THREAD requests. 3) Currently, the only way to generate SIGEV_THREAD notifications is via POSIX timers and POSIX message queues. 4) A general-purpose support function ( cyg_posix_sigev_queue() ) was created and exported to allow DSR's to schedule signal delivery. It processes SIGEV_SIGNAL and SIGEV_THREAD notifications. Some other unrelated changes: 1) Overrun counting for the timer_getoverrun() function was fixed. Currently, it clears the overrun count as soon as signal delivery is scheduled. This will cause signal handlers that call timer_getoverrun() to always read 0 overruns. 2) Modified pthread_create() to NULL-terminate the thread name it generates. This name is only used for debugging purposes, but should be NULL terminated. Also attached is a new file that belongs in ecos/packages/compat/posix/current/tests/signal4.c to test this functionality. Unfortunately, I couldn't figure out how to get it into the patch file. As always, your comments are appreciated. -- Dan Jakubiec Systech Corp __________________________________ Do you Yahoo!? Free Pop-Up Blocker - Get it now http://companion.yahoo.com/
Attachment:
sigev_thread.pat
Description: sigev_thread.pat
Attachment:
signal4.c
Description: signal4.c
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |