--------
1. malloc casts to the right pointers
2. function parameter casts in the components (eg., recv requires a (char *) typecast
else cL compiler barfs)
3. added my own errno indirection. this is only in oob/tcp module. ompi_errno is #defined
ro errno in unix land and to a function ompi_get_error which returns the equivalent
error code.
4. implemented our own fcntl to prevent spaghetti coding. this currently only takes
F_GETFL and F_SETFL arguments, does nothing on F_GETFL and sets the nonblocking
option on F_SETFL
5. Moved some extern declarations to global scope since the CL compiler does not do
the right things if they are declared and used in static inline functions.
6. Protection around some header files. changed sys/errno to errno.
7. defined in_proto_t (unsigned uint16_t) to DWORD ... comments are welcome
This commit was SVN r3394.
--------
1. malloc casts to the right pointers
2. function parameter casts in the components (eg., recv requires a (char *) typecast
else cL compiler barfs)
3. added my own errno indirection. this is only in oob/tcp module. ompi_errno is #defined
ro errno in unix land and to a function ompi_get_error which returns the equivalent
error code.
4. implemented our own fcntl to prevent spaghetti coding. this currently only takes
F_GETFL and F_SETFL arguments, does nothing on F_GETFL and sets the nonblocking
option on F_SETFL
5. Moved some extern declarations to global scope since the CL compiler does not do
the right things if they are declared and used in static inline functions.
6. Protection around some header files. changed sys/errno to errno.
7. defined in_proto_t (unsigned uint16_t) to DWORD ... comments are welcome
This commit was SVN r3393.
--------
1. malloc casts to the right pointers
2. function parameter casts in the components (eg., recv requires a (char *) typecast
else cL compiler barfs)
3. added my own errno indirection. this is only in oob/tcp module. ompi_errno is #defined
ro errno in unix land and to a function ompi_get_error which returns the equivalent
error code.
4. implemented our own fcntl to prevent spaghetti coding. this currently only takes
F_GETFL and F_SETFL arguments, does nothing on F_GETFL and sets the nonblocking
option on F_SETFL
5. Moved some extern declarations to global scope since the CL compiler does not do
the right things if they are declared and used in static inline functions.
6. Protection around some header files. changed sys/errno to errno.
7. defined in_proto_t (unsigned uint16_t) to DWORD ... comments are welcome
This commit was SVN r3392.
operations are actually the compare_and_set 32 and 64 bits. For all others atomic there is a fallback in sys/atomic.c
For ia32 I add a workaround the ebx register. When compiling with -fPIC ebx is reserved for the shared object interface (store some global pointer). On the same time cmpxchg8b use ebx and ecx to store the new value. The workaround save the ebx content before cmpxchg8b and restore it afterward. There is still a possible bug !!! If we get interrupted between the push and pop of the ebx then we will definitivelly crash ...
This commit was SVN r3387.
cleanup happens correctly
* Deregister all async waitpid callbacks during pcm finalize so that they
don't accidently trip after the component has been unloaded
* Cleanup the pid tracking code shared by RMS and RSH and update both
components to match
* Add a bit to MPI_Abort() in preparation of ompi_rte_kill_job working
properly soon
This commit was SVN r3360.