我在主进程创建互斥读写锁。mymutex1;然后启动子进程。子进程用OpenMutex打开,返回值非NULL。 写入数据后,用ReleaseMutex(mymutex1),结果 GetLastError()是288 网上查的288 0x0120意图释放不属于叫用者的mutex。 既然OpenMutex打开,返回值非NULL,为什么释放不成功?更奇怪的是,在主进程中ReleaseMutex(mymutex1)是成功的。CreateMutex(NULL, TRUE, "mymutex1"); 是否第一个参数不能是NULL? If this parameter is NULL, the handle cannot be inherited by child processes. 那么要如何写第一个参数,才能被子进程继承呢?百度上全是NULL的例子。请大侠出手。
Mutex可以加Global全局前缀
我在主进程创建互斥读写锁。mymutex1;然后启动子进程。子进程用OpenMutex打开,返回值非NULL。
写入数据后,用ReleaseMutex(mymutex1),结果
GetLastError()是288 网上查的288 0x0120意图释放不属于叫用者的mutex。 既然OpenMutex打开,返回值非NULL,为什么释放不成功? 谢谢!
写入数据后,用ReleaseMutex(mymutex1),结果
GetLastError()是288 网上查的288 0x0120意图释放不属于叫用者的mutex。 既然OpenMutex打开,返回值非NULL,为什么释放不成功?更奇怪的是,在主进程中ReleaseMutex(mymutex1)是成功的。CreateMutex(NULL, TRUE, "mymutex1"); 是否第一个参数不能是NULL? If this parameter is NULL, the handle cannot be inherited by child processes.
那么要如何写第一个参数,才能被子进程继承呢?百度上全是NULL的例子。请大侠出手。
学到了,不知道有父子关系的进程是否可以使用同一个mutex?