-
- pids[0] = fork_service(zs, 200, search_process);
- pids[1] = fork_service(zs, 20, update_process);
- pids[2] = fork_service(zs, 20, update_process);
- waitpid(pids[0], &status[0], 0);
- YAZ_CHECK(status[0] == 0);
- waitpid(pids[1], &status[1], 0);
- YAZ_CHECK(status[1] == 0);
- waitpid(pids[2], &status[2], 0);
- YAZ_CHECK(status[2] == 0);
+ struct utsname s;
+ uname(&s);
+ if (!strcmp(s.sysname, "FreeBSD"))
+ tst_with_fork = 0;
+
+ yaz_log(YLOG_LOG, "s.sysname=%s tst_with_fork=%d", s.sysname,
+ tst_with_fork);
+ if (tst_with_fork)
+ {
+ pids[0] = fork_service(zs, 200, search_process);
+ pids[1] = fork_service(zs, 20, update_process);
+ pids[2] = fork_service(zs, 20, update_process);
+ waitpid(pids[0], &status[0], 0);
+ YAZ_CHECK(status[0] == 0);
+ waitpid(pids[1], &status[1], 0);
+ YAZ_CHECK(status[1] == 0);
+ waitpid(pids[2], &status[2], 0);
+ YAZ_CHECK(status[2] == 0);
+ }