newlib/winsup/cygwin/include
Corinna Vinschen 8fbd574ef0 * cygwin.din (sem_unlink): Export.
* posix_ipc.cc: Include thread.h and semaphore.h.  Remove TODO
	comment.
	(ipc_names): Add max_len member.  Set to maximum length of the path
	before tacking on the prefix path.  Set prefix path for named semaphors
	to /dev/shm, as on Linux.
	(enum ipc_type_t): Change sem to semaphore to avoid name conflicts.
	(check_path): Detect empty paths.  Use ipc_names's max_len member.
	Use __small_sprintf to create full object path name.  Special case
	semaphores.
	(ipc_cond_init): Drop superfluous strcpy.
	(class ipc_flock): New class to simplify file locking in subsequent
	code.
	(struct mq_hdr): Raise size of mqh_uname to allow adding a unique
	LUID to the name.
	(mq_open): Fix formatting.  Create unique synchronization object names
	using AllocateLocallyUniqueId.
	(struct sem_finfo): New structure defining named semaphore file content.
	(sem_open): Move here.  Rework implementation to allow kernel
	persistent implementation of POSIX named semaphores.
	(_sem_close): Implement sem_close.
	(sem_close): Move here.  Just call _sem_close with do_close parameter
	set to true.
	(sem_unlink): New function.
	* pthread.cc (mangle_sem_name): Remove.
	(sem_open): Move to posix_ipc.cc.
	(sem_close): Ditto.
	* syscalls.cc (close_all_files): Call semaphore::terminate here.
	* thread.cc: Fix formatting.  Rearrange semaphore functions so that
	they are close together.
	(semaphore::semaphore): Rework to play nicely with new named semaphore
	implementation.
	(semaphore::_terminate): Call _sem_close if semaphore is a named
	semaphore.
	(semaphore::destroy): Don't destroy named semaphores.  Return EINVAL
	instead.
	(semaphore::close): Only destroy named semaphores.  Return EINVAL
	otherwise.
	(semaphore::open): Rework to play nicely with new named semaphore
	implementation.  Loop through existing semaphores to be able to
	return same sem_t pointer as a former call on the same named semaphore.
	(semaphore::getinternal): New function called from _sem_close.
	* thread.h (class List): Make mx and head public.
	(class semaphore): Fix formatting.  Align method declarations with
	implementation in thread.cc.  Add members used for named semaphores.
	(semaphore::terminate): New static method.
	* include/semaphore.h: Redefine SEM_FAILED.  Fix formatting.
	(sem_unlink): Add declaration.
	* include/cygwin/version.h: Bump API minor number.
2007-02-20 15:48:04 +00:00
..
arpa * Makefile.in (DLL_OFILES): Add minires-os-if.o and minires.o. 2006-12-11 19:59:06 +00:00
asm * autoload.cc (WSAIoctl): Define. 2007-01-21 22:54:05 +00:00
cygwin * cygwin.din (sem_unlink): Export. 2007-02-20 15:48:04 +00:00
machine * include/machine/stdlib.h: New file. 2005-06-01 18:24:31 +00:00
net
netinet 2006-07-25 Corinna Vinschen <corinna@vinschen.de> 2006-07-25 19:23:23 +00:00
sys * cygwin.din (shm_open): Export. 2007-02-08 13:36:53 +00:00
a.out.h
byteswap.h * include/byteswap.h: New file. 2005-07-26 00:55:42 +00:00
ctype.h * include/ctype.h: Accommodate building in newlib. 2005-03-28 21:58:23 +00:00
dlfcn.h * autoload.cc (EnumProcessModules): Add. 2004-09-14 08:29:12 +00:00
elf.h * include/sys/cdefs.h (__CONCAT): Define. 2005-08-08 15:00:39 +00:00
endian.h * include/endian.h: Remove USE_BSD ifdef since it is never defined on Cygwin. 2005-11-10 21:17:15 +00:00
err.h
exceptions.h * include/exceptions.h (exception_list): Revert previous change. Windows 2005-12-03 05:01:51 +00:00
fcntl.h * autoload.cc (NtSetInformationFile): Define. 2006-08-07 19:29:14 +00:00
features.h white space 2006-05-28 15:50:14 +00:00
fnmatch.h
fts.h * Makefile.in (DLL_OFILES): Add fts.o, ftw.o, nftw.o. 2005-08-08 09:45:42 +00:00
ftw.h * include/ftw.h: Include sys/cdefs.h. 2007-01-28 11:27:05 +00:00
getopt.h * include/getopt.h (getopt_long_only): Declare. 2006-01-09 12:41:54 +00:00
glob.h * glob.c: Remove. 2006-10-17 17:34:56 +00:00
icmp.h
inttypes.h * cygwin.din (imaxabs): Export. 2005-06-10 12:11:35 +00:00
io.h
lastlog.h
libgen.h * cygwin.din (basename): Export. 2005-02-22 19:45:41 +00:00
limits.h * Makefile.in (DLL_OFILES): Add posix_ipc.o. 2007-02-14 10:06:46 +00:00
mapi.h
memory.h
mntent.h * include/mntent.h: Add missing #include. 2006-02-13 19:01:32 +00:00
mqueue.h * posix_ipc.cc (mq_open): Avoid compiler warning. Initialize mqhdr 2007-02-15 17:49:25 +00:00
netdb.h * net.cc (ga_dup): New function, taken from ga_clone with v4-in-v6 2007-02-01 15:54:40 +00:00
paths.h
poll.h
pthread.h * cygmalloc.h (MALLOC_FAILURE_ACTION): Define empty. 2007-02-07 17:22:40 +00:00
pty.h
resolv.h * Makefile.in (DLL_OFILES): Add minires-os-if.o and minires.o. 2006-12-11 19:59:06 +00:00
sched.h
search.h * timer.cc (nanosleep): Treat tv_sec < 0 as invalid. 2005-03-27 02:31:33 +00:00
semaphore.h * cygwin.din (sem_unlink): Export. 2007-02-20 15:48:04 +00:00
stdint.h * include/stdint.h (UINT8_C, UINT16_C): Unsigned types smaller 2006-07-03 12:30:04 +00:00
strings.h * include/strings.h: Don't include string.h. Only declare functions 2007-01-05 15:09:22 +00:00
sysexits.h
syslog.h
termio.h
tzfile.h
utmpx.h * cygwin.din (updwtmpx): Export. 2006-02-02 22:46:37 +00:00