DisOrder on OS X
================
-The server builds on OS X. However the kernel panics when I run it
-(kernel 8.10.1). Until Apple can provide a stable operating system,
-it is not recommended that you run the server on this platform.
+The server builds on OS X. It is not well tested in this environment.
+Please report successes and failures!
Things you will need to do:
snprintf(addr.sun_path, sizeof addr.sun_path,
"%s/speaker", config->home);
sfd = xsocket(PF_UNIX, SOCK_STREAM, 0);
- if(connect(sfd, &addr, sizeof addr) < 0)
+ if(connect(sfd, (const struct sockaddr *)&addr, sizeof addr) < 0)
fatal(errno, "connecting to %s", addr.sun_path);
l = strlen(q->id);
if(write(sfd, &l, sizeof l) < 0
uint32_t l;
char id[24];
- if((fd = accept(listenfd, &addr, &addrlen)) >= 0) {
+ if((fd = accept(listenfd, (struct sockaddr *)&addr, &addrlen)) >= 0) {
if(read(fd, &l, sizeof l) < 4) {
error(errno, "reading length from inbound connection");
xclose(fd);
if(unlink(addr.sun_path) < 0 && errno != ENOENT)
error(errno, "removing %s", addr.sun_path);
xsetsockopt(listenfd, SOL_SOCKET, SO_REUSEADDR, &one, sizeof one);
- if(bind(listenfd, &addr, sizeof addr) < 0)
+ if(bind(listenfd, (const struct sockaddr *)&addr, sizeof addr) < 0)
fatal(errno, "error binding socket to %s", addr.sun_path);
xlisten(listenfd, 128);
nonblock(listenfd);
|DB_CREATE
|recover_type[recover],
0666)))
- fatal(0, "trackdb_env->open: %s", db_strerror(err));
+ fatal(0, "trackdb_env->open %s: %s", config->home, db_strerror(err));
trackdb_env->set_errpfx(trackdb_env, "DB");
trackdb_env->set_errfile(trackdb_env, stderr);
trackdb_env->set_verbose(trackdb_env, DB_VERB_DEADLOCK, 1);