[M3commit] CVS Update: cm3

Jay Krell jkrell at elego.de
Wed Aug 15 07:18:56 CEST 2012


CVSROOT:	/usr/cvs
Changes by:	jkrell at birch.	12/08/15 07:18:56

Modified files:
	cm3/m3-libs/m3core/src/: m3core.h 
	./: m3core.h 
	cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Unix.i3 
	                                     UnixC.c 

Log message:
	add back:
	Unix.F_DUPFD
	Unix.F_GETFD
	Unix.F_GETOWN
	Unix.F_SETOWN
	Unix.F_GETLK
	Unix.F_SETLK
	Unix.F_SETLKW
	Unix.FD_CLOEXEC
	Unix.struct_flock idealized/portable sorted by size and then name,
	making len/start LONGINT
	
	change ioctl int request to INTEGER -- Darwin uses unsigned long
	change fnctl int request and arg from int to INTEGER
	no clear rationale to change request, but it is reasonable
	arg changed to accommodate GETLK/SETLK/SETKLW struct_flock
	expectation is a pointer will be passed via LOOPHOLE,
	and passing it as an int instead of INTEGER is wrong for 64bit systems
	
	In the C code, change fnctl and ioctl last parameter to void*
	void* vs. INTEGER, eh, if just passing it on, same thing really
	
	In Unix__fcntl:
	handle F_GETLK, F_SETLK, F_SETLKW in fnctl, via copy to/from portable struct
	not actually tested
	This was because someone complained about the loss
	of compatibility in m3core/src/unix.
	It probably works now.
	
	In Unix__fcntl, Unix__ioctl:
	make the #ifdef __sun errno preservation workaround not #ifdef'ed,
	on the principle that more #ifdef is worse; the workaround is present
	for all platforms now, it should be harmless where not needed




More information about the M3commit mailing list