return NULL;
}
+#define VCONF_EXECUTABLE "vconftool"
+#define VCONF_ARGV_0 VCONF_EXECUTABLE
+#define VCONF_ARGV_1 "set"
+#define VCONF_ARGV_2 "-t"
+#define VCONF_ARGV_3 "bool"
+#define VCONF_ARGV_5 "-f"
+#define VCONF_ARGV_6_TRUE "1"
+#define VCONF_ARGV_6_FALSE "0"
+#define VCONF_ARGV_7 NULL
+
void runtime_info_test_set_changed_cb(void)
{
int ret;
bool value = false, value_orig = false;
- char buf_t[BUF_SIZE];
- char buf_f[BUF_SIZE];
int result = ERROR;
int trial = MAX_TRIAL;
+ pid_t pid = 0;
printf("Runtime_info_set_changed_cb test\n");
g_mutex_init(&mutex);
g_mutex_lock(&mutex);
- snprintf(buf_t, BUF_SIZE, "vconftool set -t bool %s -f 1",
- key_list_bool[CB_TEST_IDX].key_v);
- snprintf(buf_f, BUF_SIZE, "vconftool set -t bool %s -f 0",
- key_list_bool[CB_TEST_IDX].key_v);
-
for (; trial > 0; trial--) {
- if (value)
- ret = system(buf_f);
- else
- ret = system(buf_t);
- if (ret == -1) {
- printf("vconftool failed.\n");
- goto judge;
+ pid = fork();
+ switch (pid) {
+ case 0:
+ ret = execlp(VCONF_EXECUTABLE, VCONF_ARGV_0, VCONF_ARGV_1, VCONF_ARGV_2,
+ VCONF_ARGV_3, key_list_bool[CB_TEST_IDX].key_v, VCONF_ARGV_5,
+ (value ? VCONF_ARGV_6_FALSE : VCONF_ARGV_6_TRUE), VCONF_ARGV_7);
+ if (ret == -1)
+ printf("vconftool failed.\n");
+ break;
+ case -1:
+ default:
+ break;
}
+
value = value ? false : true;
if (g_cond_wait_until(&cond, &mutex, g_get_monotonic_time() + TIME_TO_WAIT_CB)) {
printf(" Registering and calling callback : %s\n", PRINT_RESULT(result));
if (value != value_orig) {
- if (value_orig)
- ret = system(buf_t);
- else
- ret = system(buf_f);
+ pid = fork();
+ switch (pid) {
+ case 0:
+ ret = execlp(VCONF_EXECUTABLE, VCONF_ARGV_0, VCONF_ARGV_1, VCONF_ARGV_2,
+ VCONF_ARGV_3, key_list_bool[CB_TEST_IDX].key_v, VCONF_ARGV_5,
+ (value_orig ? VCONF_ARGV_6_TRUE : VCONF_ARGV_6_FALSE), VCONF_ARGV_7);
+ break;
+ case -1:
+ default:
+ break;
+ }
}
g_mutex_unlock(&mutex);