${CC} ${CFLAGS} \
$(SERVER_OBJECTS) $(BACKEND_OBJECTS) \
${LDFLAGS} \
- -lresolv -lcitadel -lpthread -lz -lical -lldap -lcrypt -lexpat -lcurl ${BACKEND_LDFLAGS} \
+ -lcitadel -lpthread -lz -lical -lldap -lcrypt -lexpat -lcurl ${BACKEND_LDFLAGS} \
-o citserver
setup: utils/setup.c server/citadel_dirs.c utils/*.h server/*.h
- ${CC} ${CFLAGS} ${LDFLAGS} utils/setup.c -lcitadel -o setup
+ ${CC} ${CFLAGS} ${LDFLAGS} utils/setup.c -lcitadel -lintl -o setup
ctdlmigrate: utils/ctdlmigrate.c server/citadel_dirs.c utils/*.h server/*.h
${CC} ${CFLAGS} ${LDFLAGS} utils/ctdlmigrate.c -lcitadel -lreadline -o ctdlmigrate
s = socket(AF_UNIX, SOCK_STREAM, 0);
if (s < 0) {
- fprintf(stderr, "loadtest: Can't create socket: %s\n", strerror(errno));
- exit(3);
+ return(-1);
}
if (connect(s, (struct sockaddr *) &addr, sizeof(addr)) < 0) {
- fprintf(stderr, "loadtest: can't connect: %s\n", strerror(errno));
close(s);
- exit(3);
+ return(-1);
}
- return s;
+ return(s);
}
}
-void do_stuff(int serv_sock) {
+void *loadtest(void *blah) {
char buf[SIZ];
+ int serv_sock;
+
+ serv_sock = uds_connectsock(file_citadel_socket);
+
+ if (serv_sock < 0) {
+ printf("\033[8;0H\033[31mWarning: some threads failed to connect to Citadel Server.\033[0m");
+ fflush(stdout);
+ pthread_exit(NULL);
+ }
+ serv_gets(serv_sock, buf);
snprintf(buf, sizeof buf, "USER %s", test_user);
serv_puts(serv_sock, buf);
serv_gets(serv_sock, buf);
}
}
-void *loadtest(void *blah) {
- char buf[SIZ];
- int serv_sock;
-
- serv_sock = uds_connectsock(file_citadel_socket);
- serv_gets(serv_sock, buf);
- do_stuff(serv_sock);
- close(serv_sock);
-}
-
// Main loop. Do things and have fun.
int main(int argc, char **argv) {
}
int serv_sock = uds_connectsock(file_citadel_admin_socket);
+ if (serv_sock < 0) {
+ fprintf(stderr, "loadtest: cannot connect to Citadel Server\n");
+ exit(1);
+ }
+
char buf[SIZ];
serv_gets(serv_sock, buf);
setup_accounts(serv_sock);