+
+static
+int parse_message(struct lttcomm_session_msg *lsm)
+{
+ switch (lsm->cmd_type) {
+ case LTTNG_CREATE_SESSION:
+ DBG("Handling create session message");
+
+
+ break;
+ default:
+ ERR("Unimplemented command %d", (int) lsm->cmd_type);
+ return -1;
+ }
+ return 0;
+}
+
+static
+void *ust_listener_thread(void *arg)
+{
+ int sock = *(int *) arg;
+ int ret;
+
+ for (;;) {
+ ssize_t len;
+ struct lttcomm_session_msg lsm;
+
+ /* Receive session handle */
+ len = lttcomm_recv_unix_sock(sock, &lsm, sizeof(lsm));
+ switch (len) {
+ case 0: /* orderly shutdown */
+ DBG("ltt-sessiond has performed an orderly shutdown\n");
+ goto end;
+ case sizeof(lsm):
+ DBG("message received\n");
+ ret = parse_message(&lsm);
+ if (ret) {
+ ERR("Error parsing message\n");
+ }
+ continue;
+ case -1:
+ if (errno == ECONNRESET) {
+ ERR("remote end closed connection\n");
+ goto end;
+ }
+ goto end;
+ default:
+ ERR("incorrect message size: %zd\n", len);
+ continue;
+ }
+
+ }
+end:
+ return NULL;
+}
+
+