+
+int get_dss_pid(char *config_file, pid_t *pid)
+{
+ int ret, semid, key = get_key_or_die(config_file);
+
+ ret = mutex_get(key, 0);
+ if (ret < 0)
+ return ret;
+ semid = ret;
+ ret = semctl(semid, 1, GETPID);
+ if (ret < 0)
+ return -E_NOT_RUNNING;
+ *pid = ret;
+ ret = mutex_try_lock(semid);
+ if (ret >= 0)
+ return -E_NOT_RUNNING;
+ return 1;
+}