There is one thing should be clarified, pls see the following code:
struct pthread_start_args {
void * (*start_routine)(void *); /* function to run */
void * arg; /* its argument */
sigset_t mask; /* initial signal mask for thread */
int schedpolicy; /* initial scheduling policy (if any) */
struct sched_param schedparam; /* initial scheduling parameters (if any) */
};
IMHO, such code can not be called as C++, it is still C code, an structural C code.
In Linux, as I know, message queue and I/O are writen by pure C, I have not seen the source code of pthread (just look through it and hope you give some help on it :--) ), but IPC is made up with C.
All in all, C has borrowed something from C++, but it is still C.
struct pthread_start_args {
void * (*start_routine)(void *); /* function to run */
void * arg; /* its argument */
sigset_t mask; /* initial signal mask for thread */
int schedpolicy; /* initial scheduling policy (if any) */
struct sched_param schedparam; /* initial scheduling parameters (if any) */
};
IMHO, such code can not be called as C++, it is still C code, an structural C code.
In Linux, as I know, message queue and I/O are writen by pure C, I have not seen the source code of pthread (just look through it and hope you give some help on it :--) ), but IPC is made up with C.
All in all, C has borrowed something from C++, but it is still C.