summaryrefslogtreecommitdiffstats
path: root/cpukit (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Patch from Ian Lance Taylor <ian@airs.com>:Joel Sherrill1999-06-114-2/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The select function is not particularly efficient when dealing with a large number of sockets. The application has to build a big set of bits and pass it in. RTEMS has to look through all those bits and see what is ready. Then the application has to look through all the bits again. On the other hand, when using RTEMS, the select function is needed exactly when you have a large number of sockets, because that is when it becomes prohibitive to use a separate thread for each socket. I think it would make more sense for RTEMS to support callback functions which could be invoked when there is data available to read from a socket, or when there is space available to write to a socket. Accordingly, I implemented them. This patch adds two new SOL_SOCKET options to setsockopt and getsockopt: SO_SNDWAKEUP and SO_RCVWAKEUP. They take arguments of type struct sockwakeup: struct sockwakeup { void (*sw_pfn) __P((struct socket *, caddr_t)); caddr_t sw_arg; }; They are used to add or remove a function which will be called when something happens for the socket. Getting a callback doesn't imply that a read or write will succeed, but it does imply that it is worth trying. This adds functionality to RTEMS which is somewhat like interrupt driven socket I/O on Unix. After the patch to RTEMS, I have appended a patch to netdemos-19990407/select/test.c to test the new functionality and demonstrate one way it might be used. To run the new test instead of the select test, change doSocket to call echoServer2 instead of echoServer.
* Patch from Eric Norum <eric@cls.usask.ca> to fix bug reported byJoel Sherrill1999-06-111-0/+2
| | | | | | | | | | | | | | | | | | Ian Lance Taylor <ian@airs.com>: Ian Lance Taylor wrote: > > In rtems-19990528, sbwait sets SB_WAIT in sb_flags. sowakeup checks > it. Why doesn't socket_select set it? > > I don't know that this is a bug--I haven't tried to create a test > case. However, it certainly looks odd. > > Ian Yes, there's a bug there. Sorry about that. It was introduced when I did some cleanup on the sleep/wakeup handling in rtems_glue.c.
* Modified to return an error when a bogus return address for theJoel Sherrill1999-06-091-0/+3
| | | | old_priority parameter is provided.
* Switched to using strcasecmp() since it is more portable.Joel Sherrill1999-06-091-2/+2
| | | | D. V. Henkel-Wallace <gumby@zembu.com> spotted this one.
* Changes from Eric Norum to add a loop and limit on the length of timeJoel Sherrill1999-05-281-22/+32
| | | | the stack will wait for mbufs.
* Alignment corrected per Eric Norum's suggestion.Joel Sherrill1999-05-281-1/+2
|
* At the request of Gumby, the cpu is now halted rather than spinningJoel Sherrill1999-05-281-1/+1
| | | | on a fatal exception.
* Patch from Eric Norum <eric@pollux.usask.ca> to eliminate a panic when theJoel Sherrill1999-05-273-147/+88
| | | | network stack runs out of mbufs.
* Split out the routine rtems_assoc_name_bad().Joel Sherrill1999-05-272-14/+41
|
* Removed usage of printf.Joel Sherrill1999-05-272-2/+2
|
* Split initialization and reserve resources from termios to reduceJoel Sherrill1999-05-273-59/+93
| | | | size of mininum application.
* Corrected macro names.Joel Sherrill1999-05-271-2/+6
|
* Removed all post 4.0 changes.Joel Sherrill1999-05-201-81/+78
|
* Patch from Daniel Kelley <dank@icube.com>:Joel Sherrill1999-05-182-8/+8
| | | | | | I found a small buglet in the mips64orion _CPU_ISR_Set_level; the original was wiping out the level argument, and then comparing the current interrupt level with some random value of v0. See patch below.
* Fixed some typos.Joel Sherrill1999-05-171-4/+4
|
* Split Interrupt Manager into one routine per file.Joel Sherrill1999-05-172-36/+55
|
* Split Signal Manager into one routine per file.Joel Sherrill1999-05-173-108/+154
|
* Dual-Ported Memory Manager split into one routine per file.Joel Sherrill1999-05-176-236/+346
|
* Split Partition Manager into one routine per file.Joel Sherrill1999-05-176-299/+414
|
* Split Timer Manager into one routine per file.Joel Sherrill1999-05-178-308/+469
|
* Split Event Manager into one routine per file.Joel Sherrill1999-05-176-342/+456
|
* Split Rate Monotonic Manager into one routine per file.Joel Sherrill1999-05-178-416/+568
|
* Split the Semaphore Manager into one routine per file.Joel Sherrill1999-05-177-484/+766
|
* Moved some MP routines to semmp.c.Joel Sherrill1999-05-172-55/+54
|
* Forgot to actually remove the routines. :)Joel Sherrill1999-05-171-748/+0
|
* Split Message Manager into one routine per file.Joel Sherrill1999-05-1712-0/+1105
|
* Moved an MP routine from msg.c to here.Joel Sherrill1999-05-171-0/+26
|
* Cleaned up some multiprocessing issues.Joel Sherrill1999-05-171-17/+15
|
* Split Clock Manager into one routine per file.Joel Sherrill1999-05-174-129/+194
|
* Split Region Manager into one routine per file.Joel Sherrill1999-05-178-455/+618
|
* Splitting the Thread Handler forced the inclusion of more prototypes.Joel Sherrill1999-05-171-0/+33
|
* Split Task Manager into multiple files. Eventually this effort willJoel Sherrill1999-05-1715-961/+1381
| | | | reduce the size of executables.
* Thread Handler split into multiple files. Eventually, as RTEMS isJoel Sherrill1999-05-1725-1304/+1978
| | | | split into one function per file, this will decrease the size of executables.
* Patch from D. V. Henkel-Wallace <gumby@zembu.com> to remove compilerJoel Sherrill1999-05-173-4/+4
| | | | warnings.
* Patch from D. V. Henkel-Wallace <gumby@zembu.com>:Joel Sherrill1999-05-171-0/+16
| | | | | | Here's a tiny patch that shreds memory returned to the pool (such as by free() and delete). This may help people find some nasty bugs, so here it is.
* Removed check for initialized ID at request of Rosimildo DaSilvaJoel Sherrill1999-05-141-0/+23
| | | | | <rdasilva@connecttel.com> who encountered random failures in his port of omniORB2.
* Fix based on bug report from Jay Kulpinski <jskulpin@eng01.gdds.com>Joel Sherrill1999-05-111-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | that the per task reentrancy structure was not being processed properly during exit(). joel@oarcorp.com wrote: > > > This is always an ugly place to poke around. :( > > The code in newlib/libc/stdlib/exit.c walks the atexit chain for the > reentrancy structure for JUST the current task. The code in libc_wrapup() > does it for both the current task and the global reentrancy structure > (which tends to be where driver atexit()'s were registered. > > So I think the _wrapup_reent(0) in libc_wrapup() should be commented out. > > If you concur, then I will make the change and improve the comment on this > line of code to explain things: > > libc_wrapup(); /* Why? XXX */ > > --joel That does the job. cdtest.exe works correctly now.
* Made all calls to _Thread_Yield_processor consistent in how they areJoel Sherrill1999-05-072-9/+9
| | | | wrapped by calls to _Thread_Enable_dispatch and _Thread_Disable_dispatch.
* Patch from Jiri Gaisler <jgais@ws.estec.esa.nl> to allow stacksizeJoel Sherrill1999-05-073-3/+10
| | | | of POSIX Init thread to be user configured.
* Error reporting fixed by Jennifer.Joel Sherrill1999-05-071-15/+15
|
* Patch from Eric Norum <eric@cls.usask.ca> to corrent a miscount in lengthJoel Sherrill1999-04-271-1/+1
| | | | that results in an error in parsing network unit names/numbers.
* Repairing damage and recovering changes including C++ wrappers..Joel Sherrill1999-04-265-4/+44
|
* Recovered changes since CVS file was corrupted.Joel Sherrill1999-04-261-1/+9
|
* Added lstat().Joel Sherrill1999-04-222-6/+39
|
* Intel i960HA support submitted by Jimen Ching <jimen@adtech-inc.com>Joel Sherrill1999-04-192-6/+77
| | | | | based on 3.6.0. It was very lucky that this went in as well as it did.
* Unlimited objects patch design document. Submitted by Chris JohnsJoel Sherrill1999-04-191-0/+387
| | | | <ccj@acm.org> of Objective Design Systems.
* Changed ioctl() prototype to be more like Linux/POSIX than BSD to easeJoel Sherrill1999-04-191-1/+1
| | | | porting of ACE to RTEMS.
* The default action for real-time signals is supposed to be SIGACTION_TERMINATE.Joel Sherrill1999-04-191-15/+15
| | | | | Jiri Gaisler caught this and submitted a patch but a subsequent patch backed it out accidentally.
* After discussion with Eric Norum <eric@skatter.usask.ca>,Joel Sherrill1999-04-191-0/+22
| | | | | I added __INSIDE_RTEMS_BSD_TCPIP_STACK__ that trips all the needed macro definitions for a network driver.
* Added reentrant versions.Joel Sherrill1999-04-152-0/+41
|