if((sem_init(sem, 1, 1)) == 1) perror("error initiating sem");如果我包含这行代码,我的程序只需启动和退出即可。我刚刚开始学习如何使用信号量。我正在使用cygwin,当这一行被注释掉时,上面的printf将打印到控制台,但当包含它时,什么也没有发生。
我做了以下工作来启动cygserver -
CYGWIN=server
ran /bin/cygserver-config
ran /usr/sbin/cygserver对于config,它说cygserver已经在运行,对于sygserver,它说-
initailaizing complete
failed to created named pipe: is the daemon already running?
fatal error on IPC transport: closing down有什么想法吗?
发布于 2012-09-25 05:35:35
我找出了问题所在。在为数据分配内存之前,我使用了data(struct) = shmat()。出于某种原因,这阻止了我的“printf”工作。
https://stackoverflow.com/questions/12561898
复制相似问题