私はプログラムを書いています。ボタンが押されると、サーバー プロセスを実行する必要があります (これは、彼を殺すことにした場合にのみ停止します)。
このプロセスを実行するために、fork/execv メカニズムを使用することにしました。
void Command::RunServer() {
pid = fork();
if (pid==0) {
chdir("./bin");
char str[10];
sprintf(str,"%d",port);
char *argv[] = {"./Server", str};
execv("./Server",argv);
}
else {
config->pid = pid;
return;
}
}
そして、「ボタンを押した」メソッドでは、次のことを行います。
command->RunServer();
数日前はうまく機能しているように見えました...そして今はエラーが発生します:
main: xcb_io.c:221: poll_for_event: Assertion `(((long) (event_sequence) - (long) (dpy->request)) <= 0)' failed.
pthread に切り替えてみるべきですか? 私は何か悪いことをしましたか?
ありがとう、
えお