Commit Graph

92 Commits

Author SHA1 Message Date
Joel Sherrill
4b5414ffa8 2003-09-04 Joel Sherrill <joel@OARcorp.com>
* include/rtems/posix/cond.h, include/rtems/posix/condmp.h,
	include/rtems/posix/config.h, include/rtems/posix/intr.h,
	include/rtems/posix/key.h, include/rtems/posix/mqueue.h,
	include/rtems/posix/mqueuemp.h, include/rtems/posix/mutex.h,
	include/rtems/posix/mutexmp.h, include/rtems/posix/posixapi.h,
	include/rtems/posix/pthread.h, include/rtems/posix/pthreadmp.h,
	include/rtems/posix/ptimer.h, include/rtems/posix/semaphore.h,
	include/rtems/posix/semaphoremp.h, inline/rtems/posix/cond.inl,
	inline/rtems/posix/intr.inl, inline/rtems/posix/key.inl,
	inline/rtems/posix/mqueue.inl, inline/rtems/posix/mutex.inl,
	inline/rtems/posix/pthread.inl, inline/rtems/posix/semaphore.inl,
	inline/rtems/posix/timer.inl, macros/rtems/posix/cond.inl,
	macros/rtems/posix/intr.inl, macros/rtems/posix/key.inl,
	macros/rtems/posix/mqueue.inl, macros/rtems/posix/mutex.inl,
	macros/rtems/posix/pthread.inl, macros/rtems/posix/semaphore.inl,
	macros/rtems/posix/timer.inl, src/alarm.c, src/kill.c,
	src/killinfo.c, src/mqueuetranslatereturncode.c, src/pause.c,
	src/pthreadattrdestroy.c, src/pthreadattrgetdetachstate.c,
	src/pthreadattrgetinheritsched.c, src/pthreadattrgetschedparam.c,
	src/pthreadattrgetschedpolicy.c, src/pthreadattrgetscope.c,
	src/pthreadattrgetstackaddr.c, src/pthreadattrgetstacksize.c,
	src/pthreadattrinit.c, src/pthreadattrsetdetachstate.c,
	src/pthreadattrsetinheritsched.c, src/pthreadattrsetschedparam.c,
	src/pthreadattrsetschedpolicy.c, src/pthreadattrsetscope.c,
	src/pthreadattrsetstackaddr.c, src/pthreadattrsetstacksize.c,
	src/pthreadcreate.c, src/pthreaddetach.c, src/pthreadequal.c,
	src/pthreadexit.c, src/pthreadgetcpuclockid.c,
	src/pthreadgetcputime.c, src/pthreadgetschedparam.c,
	src/pthreadjoin.c, src/pthreadkill.c, src/pthreadonce.c,
	src/pthreadself.c, src/pthreadsetcputime.c,
	src/pthreadsetschedparam.c, src/pthreadsigmask.c, src/sigaction.c,
	src/sigaddset.c, src/sigdelset.c, src/sigemptyset.c,
	src/sigfillset.c, src/sigismember.c, src/signal_2.c,
	src/sigpending.c, src/sigprocmask.c, src/sigqueue.c,
	src/sigsuspend.c, src/sigtimedwait.c, src/sigwait.c,
	src/sigwaitinfo.c: URL for license changed.
2003-09-04 18:47:11 +00:00
Ralf Corsepius
2aab7ae97f 2002-12-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* include/Makefile.am: Remove.
	* inline/Makefile.am: Remove.
	* macros/Makefile.am: Remove.
	* src/Makefile.am: Remove.
	* Makefile.am: Merge-in removed Makefile.ams.
	* configure.ac: Reflect changes above.
2002-12-09 05:22:15 +00:00
Joel Sherrill
35ee867eb9 2002-12-02 Joel Sherrill <joel@OARcorp.com>
* include/rtems/posix/timer.h, src/keygetspecific.c,
	src/posixtimespecsubtract.c, src/ptimer1.c, src/semunlink.c:
	Added casts to eliminate warnings on 16-bit targets like the h8300.
2002-12-02 19:15:24 +00:00
Joel Sherrill
f845e96e7b 2002-07-05 Joel Sherrill <joel@OARcorp.com>
* include/rtems/posix/cancel.h, src/cancel.c, src/cancelrun.c,
	src/mqueue.c, src/pthread.c, src/semaphore.c, src/setcancelstate.c,
	src/setcanceltype.c, src/testcancel.c:  Per PR164, corrected the
	behavior of thread cancellation and did some cleanup as a side-effect.
2002-07-05 18:13:18 +00:00
Joel Sherrill
3c46587833 2002-07-01 Joel Sherrill <joel@OARcorp.com>
* Mega patch merge to change the format of the object IDs to
	loosen the dependency between the SCORE and the various APIs.
	There was considerable work to simplify the object name management
        and it appears that the name_table field is no longer needed.
	This patch also includes the addition of the internal mutex
	which is currently only used to protect some types of allocation
	and deallocation.  This significantly can reduce context
	switch latency under certain circumstances.  In particular,
	some heap/region operations were O(n) and had dispatching
	disabled.  This should help enormously.  With this merge,
	the patch is not as clean as it should be.  In particular,
	the documentation has not been modified to reflect the new object
	ID layout, the IDs in the test screens are not updated, and
	_Objects_Get_information needs to be a real routine not inlined.
	As part of this patch a lot of MP code for thread/proxy blocking
	was made conditional and cleaned up.
	* include/rtems/posix/key.h, src/cond.c, src/condinit.c, src/intr.c,
	src/key.c, src/keycreate.c, src/keydelete.c, src/killinfo.c,
	src/mqueue.c, src/mqueuecreatesupp.c, src/mutex.c, src/mutexinit.c,
	src/psignal.c, src/pthread.c, src/semaphore.c,
	src/semaphorecreatesupp.c:  Modified as part of above.
2002-07-01 22:33:47 +00:00
Ralf Corsepius
78c2a97196 2002-06-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* include/Makefile.am: Include $(top_srcdir)/../automake/*.am.
	* Makefile.am: Include $(top_srcdir)/../automake/*.am.
	Use ../aclocal.
	* inline/Makefile.am: Include $(top_srcdir)/../automake/*.am.
	* macros/Makefile.am: Include $(top_srcdir)/../automake/*.am.
	* src/Makefile.am: Include $(top_srcdir)/../automake/*.am.
2002-06-17 09:07:32 +00:00
Joel Sherrill
dc7fb59bb7 2002-05-03 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* include/sys/utsname.h: Remove.
	* include/Makefile.am: Reflect changes above.
	* src/utsname.c: Remove.
	* src/Makefile.am: Reflect changes above.
2002-05-14 18:45:34 +00:00
Joel Sherrill
53092d1921 2001-04-26 Joel Sherrill <joel@OARcorp.com>
* include/rtems/posix/mqueue.h, inline/rtems/posix/mqueue.inl,
	src/mqueue.c, src/mqueueclose.c, src/mqueuecreatesupp.c,
	src/mqueuegetattr.c, src/mqueuenotify.c, src/mqueueopen.c,
	src/mqueuerecvsupp.c, src/mqueuesendsupp.c, src/mqueuesetattr.c:
	Per PR81 reworked to add a message queue descriptor separate from
	the underlying message queue.  This allows non-blocking to follow
	the "open" not the underlying queue.
2002-04-26 23:39:01 +00:00
Joel Sherrill
58c3d04eb7 2002-03-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac:
	AC_INIT(package,_RTEMS_VERSION,_RTEMS_BUGS).
	AM_INIT_AUTOMAKE([no-define foreign 1.6]).
	* src/Makefile.am: Remove AUTOMAKE_OPTIONS.
	* Makefile.am: Remove AUTOMAKE_OPTIONS.
	* include/Makefile.am: Remove AUTOMAKE_OPTIONS.
	* inline/Makefile.am: Remove AUTOMAKE_OPTIONS.
	* macros/Makefile.am: Remove AUTOMAKE_OPTIONS.
2002-03-28 00:45:34 +00:00
Joel Sherrill
5be35eecb4 2001-10-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* include/sys/Makefile.am: Remove.
	* include/rtems/Makefile.am: Remove.
	* include/rtems/posix/Makefile.am: Remove.
	* include/Makefile.am: Handle subdirs.
	* inline/rtems/Makefile.am: Remove.
	* inline/rtems/posix/Makefile.am: Remove.
	* inline/Makefile.am: Handle subdirs.
	* macros/rtems/Makefile.am: Remove.
	* macros/rtems/posix/Makefile.am: Remove.
	* macros/Makefile.am: Handle subdirs.
	* configure.ac: Reflect changes above.
2001-10-16 13:30:22 +00:00
Joel Sherrill
614e671bde 2001-09-23 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* include/sys/Makefile.am: Use 'PREINSTALL_FILES ='.
	* include/rtems/posix/Makefile.am: Use 'PREINSTALL_FILES ='.
	* include/Makefile.am: Use 'PREINSTALL_FILES ='.
	* inline/rtems/posix/Makefile.am: Use 'PREINSTALL_FILES ='.
	* macros/rtems/posix/Makefile.am: Use 'PREINSTALL_FILES ='.
2001-09-27 13:21:14 +00:00
Joel Sherrill
890f07cb83 2001-02-03 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* include/Makefile.am, include/rtems/posix/Makefile.am,
	include/sys/Makefile.am, inline/rtems/posix/Makefile.am,
	macros/rtems/posix/Makefile.am:
	Apply include_*HEADERS instead of H_FILES.
2001-02-05 18:31:28 +00:00
Joel Sherrill
32ba727717 2001-01-22 Michael Hamel <mhamel@adi.co.nz>
* include/rtems/posix/semaphore.h, inline/rtems/posix/semaphore.inl,
	src/ptimer1.c, include/rtems/posix/semaphore.h,
	inline/rtems/posix/semaphore.inl, src/alarm.c, src/ptimer1.c,
	src/semaphorenametoid.c, src/semopen.c, src/semunlink.c:
	Modifications to make CodeWarrior happy.
2001-01-22 13:46:28 +00:00
Joel Sherrill
eb33fa5495 2000-12-01 Joel Sherrill <joel@OARcorp.com>
* include/rtems/posix/cond.h: #if 0'ed out prototype of
	_POSIX_Condition_variables_Get to avoid conflict with macro
	implementation.
2000-12-01 22:05:32 +00:00
Joel Sherrill
2b2bda48c1 2000-12-01 Joel Sherrill <joel@OARcorp.com>
* Added macro support to POSIX API.  This is known to compile.
	* macros/rtems/posix/cond.inl, macros/rtems/posix/intr.inl,
	macros/rtems/posix/key.inl, macros/rtems/posix/mqueue.inl,
	macros/rtems/posix/mutex.inl, macros/rtems/posix/priority.inl,
	macros/rtems/posix/pthread.inl, macros/rtems/posix/semaphore.inl,
	macros/rtems/posix/timer.inl: New files.
	* configure.in: Removed error check for enabling macros.
	* rtems/posix/mutex.h: #if 0'ed out prototypes for inlined routines
	since you cannot have prototypes for macros.
	* macros/rtems/posix/Makefile.am: Added files.
2000-12-01 18:57:36 +00:00
Joel Sherrill
781262bb5b 2000-10-30 Joel Sherrill <joel@OARcorp.com>
* include/Makefile.am: Updated to reflect files merged into newlib.
	This resulted in some definitions moving to other files and thus
	some secondary effects in RTEMS source code.
	* include/unistd.h: Removed.  Now use newlib's.
	* include/rtems/posix/mqueue.h: Add include of <signal.h>.
	* include/rtems/posix/threadsup.h: Add include of <sys/signal.h>
	* src/execv.c: Corrected prototype to agree with newlib.
	* src/execve.c: Corrected prototype to agree with newlib.
	* src/execvp.c: Corrected prototype to agree with newlib.
	* src/psignal.c: Rewrote reference to <siginfo.h> in comment since
	that file no longer exists.
	* src/pthreadkill.c: Added include of <signal.h>.
	* src/sigaction.c: Added include of <signal.h>.
	* src/sigtimedwait.c: Rewrote reference to <siginfo.h> in comment since
	that file no longer exists.
	*
2000-10-31 16:33:48 +00:00
Joel Sherrill
b602c298a9 2000-08-25 Joel Sherrill <joel.sherrill@OARcorp.com>
* inline/rtems/posix/timer.inl, include/rtems/posix/timer.h,
	inline/rtems/posix/Makefile.am, src/ptimer1.c: Redid the
	style of src/ptimer1.c.  Continued effort to make the
	POSIX Timer implementation match that of other managers.
	Added data structures required to use SuperCore Object Handler.
2000-08-25 17:15:44 +00:00
Joel Sherrill
939e29dc4d 2000-08-15 Joel Sherrill <joel@OARcorp.com>
* src/ptimer1.c: Removed unused routine PRINT_ERRNO_S.
	* src/ptimer1.c: Removed unnecessary routine COPY_ITIMERSPEC_S
	and used structure copy instead.
	* src/ptimer1.c: Renamed timer_alive_t to POSIX_Timer_Control.
	* include/rtems/posix/timer.h: Ditto.
2000-08-15 13:19:57 +00:00
Joel Sherrill
df49c60c96 Merged from 4.5.0-beta3a 2000-06-12 15:00:15 +00:00
Joel Sherrill
bf85b19188 Patch rtems-rc-4.5.0-13-cvs.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>.
adds .cvsignore.
2000-04-13 14:37:14 +00:00
Joel Sherrill
53fb837afc POSIX message queues now include complete functionality including
blocking sends when the queue is full.  The SuperCore was enhanced
to support blocking on send.  The existing POSIX API was debugged
and numerous test cases were added to psxmsgq01 by Jennifer Averett.
SuperCore enhancements and resulting modifications to other APIs
were done by Joel.

There is one significant point of interpretation for the POSIX API.
What happens to threads already blocked on a message queue when the
mode of that same message queue is changed from blocking to non-blocking?
We decided to unblock all waiting tasks with an EAGAIN error just
as if a non-blocking version of the same operation had returned
unsatisfied.  This case is not discussed in the POSIX standard and
other implementations may have chosen differently.
2000-01-13 19:25:15 +00:00
Jennifer Averett
c5858efa68 Added priority conversion between POSIX and core priorities. 2000-01-05 17:16:02 +00:00
Joel Sherrill
1d9a2fc5ab Patch rtems-rc-19991123-rc-0.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>
which (among other things) converted the mptests to automake.

    SUB_DIRS was used instead of SUBDIRS in some Makefile.ins
    (apparently a leftover from moving the start* directories)

    Addtional major bugs:
    * psxtests/include was empty (incomplete psxtests changes).
    * bogus handling of *.scn in itrontests (screens/sptests vs.
      screens/itrontests installation dirs)

    In addition I have added a few more changes (I couldn't resist)
    * automake support for itrontests
    * OPERATION_COUNT support in tmitrontests/
    * automake support for tmitrontests
    * automake suppport for mptests
    * Some (minor) corrections to several configure.in/Makefile.ams

    => c/src/tests/ is completly under automake control, now.
    => we could start to sort out the structural issues with c/src/tests
      (tests/support, stubdr, tools, get "make dist" working)
1999-11-29 15:45:11 +00:00
Joel Sherrill
fba12eb6ff Patch rtems-rc-19991117-11.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>
to convert the libc directory to automake and "dozens of
small fixes for Makefile.ins/configure.ins below c/src/lib."
1999-11-23 13:29:04 +00:00
Joel Sherrill
9608320702 Patch rtems-rc-19991117-4.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
.. a major configuration cleanup
    ... major enhancement of automake support.

    ... and it contains a *major*  breakthough:

    Automake support for libchip and libmisc *LEAF* directories.

    To implement this I have used several nasty tricks
        * The basical trick is to wrap an old Makefile.in's contents into a
          Makefile.am and still continue to use (i.e include) the old
          *.cfg files.

        * Replaced each INSTALL_IF_CHANGE and INSTALL_VARIANT with make
          dependencies
        * Add a gnu-make ifdef AUTOMAKE to main.cfg to avoid conflicts between
          automake and RTEMS make rules
        * Replaced each install:: and preinstall:: rule with make dependencies
        * Replaced SUB_DIRS with SUBDIRS in all Makefile.ins (Automake
          convention)
        * Removed each manually added autoconf substitution which automake
          performs automatically.

    This is not yet full automake support, because using the temporary
    installation directory, preinstallation in general and building variants
    are in contradiction to automake's basic working principles ...

    ... the new Makefile.ams work still somewhat clumsy
    ... nevertheless they work (quite well).

    WARNING:

    At first glance this patch is small, but
        * it affects the whole configuration system.
        * it opens the road to introducing automake to all Makefile.ins
          currently not being under automake control.

    JOEL> Does this remove or add any files?

    Both, all Makefile.ins below libchip and libmisc get replaced with
    Makefile.ams.
1999-11-22 13:41:11 +00:00
Joel Sherrill
08311cc3a9 Updated copyright notice. 1999-11-17 17:51:34 +00:00
Joel Sherrill
2b2ab1c070 Renamed POSIX_Thread_cancel_run to _POSIX_Thread_cancel_run since RTEMS
internal symbols are supposed to have leading underscores.
1999-11-03 12:51:09 +00:00
Joel Sherrill
2b295183f3 Added prototype of _POSIX_Semaphore_Delete to avoid warnings. 1999-11-03 12:47:16 +00:00
Joel Sherrill
0a3946f6e7 Added prototype of POSIX_Thread_cancel_run to avoid warnings. 1999-11-03 12:46:58 +00:00
Joel Sherrill
07e07437c4 Final tuning required to drop out POSIX timers. 1999-11-02 19:11:16 +00:00
Joel Sherrill
6800397962 *** empty log message *** 1999-11-02 19:04:51 +00:00
Joel Sherrill
98dca75bf3 Split condition variables into multiple files. 1999-11-02 18:25:26 +00:00
Joel Sherrill
799c767d31 Split the POSIX semaphore manager into multiple files. 1999-11-02 18:00:15 +00:00
Joel Sherrill
96c041c42b Split mutex.c into multiple files. 1999-11-02 17:19:23 +00:00
Joel Sherrill
8a5f2ca04d Split mqueue into multiple files. 1999-11-02 17:18:58 +00:00
Joel Sherrill
733a24873f Added #define for SEM_FAILED. 1999-11-02 15:27:38 +00:00
Joel Sherrill
9d3a44be9c Added include of <sys/siginfo.h>. 1999-11-02 15:27:20 +00:00
Joel Sherrill
f2422aa069 Added message queues and semaphores. 1999-11-02 15:26:46 +00:00
Joel Sherrill
811804fec8 Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de> to make fix bug
where wrapup left pieces out of the librtemsall.a.
1999-10-04 19:15:14 +00:00
Joel Sherrill
e1d8abbe28 Applied patch rtems-rc-19990820-6.diff.gz from
Ralf Corsepius <corsepiu@faw.uni-ulm.de> which converted many
Makefile.in's to Makefile.am's.  This added a lot of files.
1999-09-07 13:45:03 +00:00
Joel Sherrill
16775a5535 Patch from Jiri Gaisler <jgais@ws.estec.esa.nl> to allow stacksize
of POSIX Init thread to be user configured.
1999-05-07 16:36:29 +00:00
Joel Sherrill
c7aa9d6ff8 Repairing damage and recovering changes including C++ wrappers.. 1999-04-26 18:22:08 +00:00
Joel Sherrill
c8cfdcfe53 Recovered changes since CVS file was corrupted. 1999-04-26 18:04:46 +00:00
Joel Sherrill
d0f53fec4b Enabled cancellation information in POSIX API thread extension structure. 1999-04-15 18:54:01 +00:00
Joel Sherrill
5c6c4c24d9 Fixed typo where _POSIX_signals_Clear_process_signals was not prototyped
and _POSIX_signals_Set_process_signals was done twice.
1999-03-30 17:41:26 +00:00
Joel Sherrill
e069cdc3f1 Part of the automake VI patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
> 5) rtems-rc-19990202-1.diff/reorg-install.sh
>
> reorg-install.sh fixes a Makefile variable name clash of RTEMS
> configuration files and automake/autoconf standards.
> Until now, RTEMS used $(INSTALL) for install-if-change. Automake and
> autoconf use $(INSTALL) for a bsd-compatible install. As
> install-if-change and bsd-install are not compatible, I renamed all
> references to install-if-changed to $(INSTALL_CHANGED) and used
> $(INSTALL) for bsd-install (==automake/autoconf standard).  When
> automake will be introduced install-if-change will probably be replaced
> by $(INSTALL) and therefore will slowly vanish. For the moment, this
> patch fixes a very nasty problem which prevents adding any automake file
> until now (There are still more).
1999-03-01 15:18:26 +00:00
Joel Sherrill
0747e2d3c3 POSIX Timers submitted by Juan Zamorano Flores
<jzamora@avellano.datsi.fi.upm.es>.
1999-02-03 16:22:18 +00:00
Joel Sherrill
07d880f4bc Split psignal.c into many more files. This reduced the amount of
object code that has to be loaded just for initializing the signal
manager.
1999-01-31 20:45:31 +00:00
Joel Sherrill
535db3ae0c Added enough prototypes to allow most of POSIX Threads Manager to be
split into multiple files.
1999-01-25 23:20:39 +00:00
Joel Sherrill
97e2729d1a Added --disable-multiprocessing flag and modified a lot of files to make
it work.
1998-11-23 17:38:09 +00:00