From: Enlightenment C. <no...@cv...> - 2006-03-28 07:42:36
|
Enlightenment CVS committal Author : chaos Project : e17 Module : apps/evfs Dir : e17/apps/evfs/src/plugins Modified Files: evfs_fs_bzip2.c evfs_fs_sftp.c Log Message: * Slightly more debugging output in sftp, for now. There are issues here * Handle bzip2 errors more cleanly, and prevent endless loop lockup =================================================================== RCS file: /cvs/e/e17/apps/evfs/src/plugins/evfs_fs_bzip2.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- evfs_fs_bzip2.c 3 Feb 2006 23:12:13 -0000 1.6 +++ evfs_fs_bzip2.c 28 Mar 2006 07:42:33 -0000 1.7 @@ -56,6 +56,8 @@ void evfs_dir_list(evfs_client * client, evfs_command * file); #define BZIP2_BUFFER 5000 +#define EVFS_BZ2_GOT_DATA -1 +#define EVFS_BZ2_ERROR -2 Ecore_Hash *bzip_hash; typedef struct bzip2_file @@ -150,11 +152,11 @@ if (bfile->stream.avail_in > 0) { //printf("No need to read, got data already..\n"); - return 0; + return EVFS_BZ2_GOT_DATA; } res = evfs_uri_read(client, ref->parent, bfile->buffer, BZIP2_BUFFER); - //printf("Read %d bytes at bzip2_read from fd %d using filename %s\n", res, ref->fd, ref->path); + /*printf("Read %d bytes at bzip2_read from fd %d using filename %s\n", res, ref->fd, ref->path);*/ if (res > 0) { @@ -162,9 +164,12 @@ bfile->stream.next_in = (char *)bfile->buffer; bfile->stream.avail_in = res; } - else - { + else if (res == 0) { + //printf("res 0\n"); + return 0; + } else { //printf("Res returnde an error: %d\n", res); + return EVFS_BZ2_ERROR; //exit(0); } @@ -193,7 +198,10 @@ bz_result = BZ2_bzDecompress(&bfile->stream); //printf("Avail_out goes to %d\n", bfile->stream.avail_out); - //printf (" BZ Result is: %d\n", bz_result); + //printf (" BZ Result is: %d -> %d\n", bz_result,res); + + if (res == 0) + return 0; /*No data left..*/ if (bz_result == -1) break; =================================================================== RCS file: /cvs/e/e17/apps/evfs/src/plugins/evfs_fs_sftp.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- evfs_fs_sftp.c 26 Feb 2006 04:42:20 -0000 1.10 +++ evfs_fs_sftp.c 28 Mar 2006 07:42:33 -0000 1.11 @@ -562,9 +562,9 @@ handle->sftp_handle= str; handle->sftp_handle_len = length; - //printf(" [*] Reading handle with id %d, length %d\n", id, length); + printf(" [*] Reading handle with id %d, length %d\n", id, length); - //printf(" [*] Writing handle to hash (%p) , with id %d\n", handle, id); + printf(" [*] Writing handle to hash (%p) , with id %d\n", handle, id); ecore_hash_set(conn->handle_hash, (int*)id, handle); } @@ -611,10 +611,17 @@ void sftp_handle_status(SftpConnection* conn, char** c) { int id; + int error_code; + char* error_message; + char* language_tag; SftpGenericHandle* rhandle; + int length; /*Read the identifier*/ id = read_int32(c); + error_code = read_int32(c); + error_message = read_string(c, &length); + language_tag = read_string(c, &length); //printf("Got a status for id %d\n", id); rhandle = ecore_hash_get(conn->id_open_hash, (int*)id); @@ -622,6 +629,8 @@ //printf("Rhandle is %p\n", rhandle); if (rhandle) rhandle->status = STATUS_FINISHED; + printf("id: %d, error_code: %d, message: '%s', tag: '%s'\n", id, error_code, error_message, language_tag); + ecore_hash_remove(conn->id_open_hash, (int*)id); } @@ -718,32 +727,32 @@ switch (sftp_type) { case SSH2_FXP_HANDLE: - //printf (" [*] TYPE: HANDLE: %d\n", sftp_type); + printf (" [*] TYPE: HANDLE: %d\n", sftp_type); sftp_read_handle(conn, &c); break; case SSH2_FXP_STATUS: - //printf (" [*] TYPE: STATUS: %d\n",sftp_type); + printf (" [*] TYPE: STATUS: %d\n",sftp_type); sftp_handle_status(conn, &c); break; case SSH2_FXP_ATTRS: - //printf (" [*] Received SSH ATTRIBUTES\n"); + printf (" [*] Received SSH ATTRIBUTES\n"); sftp_handle_attr(conn, &c); break; case SSH2_FXP_VERSION: - //printf (" [*] TYPE: VERSION: %d\n",sftp_type); + printf (" [*] TYPE: VERSION: %d\n",sftp_type); conn->status = SFTP_CONNECTED; goto FREE; /*Ignore the reply for now - FIXME*/ break; case SSH2_FXP_NAME: - //printf (" [*] TYPE: NAME: %d\n", sftp_type); + printf (" [*] TYPE: NAME: %d\n", sftp_type); sftp_read_names(conn, &c); break; case SSH2_FXP_DATA: - //printf(" [*] TYPE: DATA\n"); + printf(" [*] TYPE: DATA\n"); sftp_handle_data(conn, &c); break; default: - //printf (" [*] TYPE: UNKNOWN: %d\n", sftp_type); + printf (" [*] TYPE: UNKNOWN: %d\n", sftp_type); /*Out of sync? We have to leave..*/ goto FREE; break; @@ -927,6 +936,8 @@ SftpGenericHandle* handle; SftpOpenHandle* ohandle; + printf("SFTP read\n"); + sftp_split_host_path(file->path, &host, &path); @@ -969,6 +980,8 @@ printf("Could not find open file handle\n"); } + printf("Done\n"); + } int @@ -979,6 +992,8 @@ int rid; SftpOpenHandle* handle; + printf("******************** SFTP open file\n"); + sftp_split_host_path(file->path, &host, &path); @@ -987,19 +1002,26 @@ conn = sftp_connect(host); } + printf("Getting connection...\n"); while (conn->status == SFTP_INIT) { ecore_main_loop_iterate(); usleep(10); } + printf("...got\n"); rid = sftp_file_open(conn, path, 0); /*Wait till we have a handle*/ /*FIXME - is there a better way of waiting-till-event in ecore?*/ + + + printf("opening file...'%s'\n", file->path); while (! (handle = ecore_hash_get(conn->handle_hash, (int*)rid))) { ecore_main_loop_iterate(); usleep(10); } + printf("opened.....\n"); + file->fd = sftp_open_handle_get_next(); handle->int_id = file->fd; handle->conn = conn; @@ -1007,6 +1029,8 @@ free(host); free(path); + + printf("*********************** Opened\n"); return file->fd; } |
From: Enlightenment C. <no...@cv...> - 2006-03-28 07:43:06
|
Enlightenment CVS committal Author : chaos Project : e17 Module : apps/evfs Dir : e17/apps/evfs/src/demo Modified Files: evfs_demo.c Log Message: * Slightly more debugging output in sftp, for now. There are issues here * Handle bzip2 errors more cleanly, and prevent endless loop lockup =================================================================== RCS file: /cvs/e/e17/apps/evfs/src/demo/evfs_demo.c,v retrieving revision 1.24 retrieving revision 1.25 diff -u -3 -r1.24 -r1.25 --- evfs_demo.c 21 Feb 2006 10:44:06 -0000 1.24 +++ evfs_demo.c 28 Mar 2006 07:42:33 -0000 1.25 @@ -54,6 +54,7 @@ * * } */ + exit(0); } int @@ -125,7 +126,12 @@ /*evfs_monitor_add(con, dir_path->files[0]); * evfs_client_file_copy(con, dir_path->files[0], NULL); */ - evfs_client_dir_list(con, dir_path->files[0]); + + if (!strcmp(cmd, "DIR")) { + evfs_client_dir_list(con, dir_path->files[0]); + } else if (!strcmp(cmd, "STAT")) { + evfs_client_file_stat(con, dir_path->files[0]); + } ecore_main_loop_begin(); evfs_disconnect(con); } |
From: Enlightenment C. <no...@cv...> - 2006-03-28 07:43:06
|
Enlightenment CVS committal Author : chaos Project : e17 Module : apps/evfs Dir : e17/apps/evfs/src/bin Modified Files: evfs_main.c evfs_operation.c Log Message: * Slightly more debugging output in sftp, for now. There are issues here * Handle bzip2 errors more cleanly, and prevent endless loop lockup =================================================================== RCS file: /cvs/e/e17/apps/evfs/src/bin/evfs_main.c,v retrieving revision 1.39 retrieving revision 1.40 diff -u -3 -r1.39 -r1.40 --- evfs_main.c 14 Mar 2006 13:06:22 -0000 1.39 +++ evfs_main.c 28 Mar 2006 07:42:33 -0000 1.40 @@ -187,7 +187,7 @@ case EVFS_CMD_FILE_STAT: evfs_handle_file_stat_command(client, command); break; - case EVFS_CMD_LIST_DIR: + case EVFS_CMD_LIST_DIR: evfs_handle_dir_list_command(client, command); break; case EVFS_CMD_FILE_OPEN: =================================================================== RCS file: /cvs/e/e17/apps/evfs/src/bin/evfs_operation.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- evfs_operation.c 14 Mar 2006 13:06:22 -0000 1.10 +++ evfs_operation.c 28 Mar 2006 07:42:33 -0000 1.11 @@ -219,7 +219,7 @@ ecore_list_goto_first(evfs_operation_queue); op = ecore_list_current(evfs_operation_queue); - + if (op) { switch (op->type) { case EVFS_OPERATION_TYPE_FILES: @@ -277,12 +277,12 @@ void evfs_operation_run_tasks(evfs_operation* op) { + printf("Running tasks..\n"); evfs_operation_task* task = NULL; task = ecore_list_current(op->sub_task); if (task) { - if (op->status == EVFS_OPERATION_STATUS_REPLY_RECEIVED) { evfs_operation_response_handle(op,task); } @@ -293,7 +293,6 @@ if (task->status == EVFS_OPERATION_TASK_STATUS_PENDING) task->status = EVFS_OPERATION_TASK_STATUS_EXEC; - switch (task->type) { case EVFS_OPERATION_TASK_TYPE_FILE_COPY: { int prog = 0; @@ -301,7 +300,7 @@ double calc; - /*printf("...Processing file copy task type!\n");*/ + printf("...Processing file copy task type!\n"); prog = evfs_operation_tasks_file_copy_run(op, EVFS_OPERATION_TASK_FILE_COPY(task)); EVFS_OPERATION_FILES(op)->progress_bytes += prog; @@ -321,7 +320,11 @@ } //FIXME - ther's probably a better place to put this*/ - if (op->processed_tasks == ecore_list_nodes(op->sub_task) && task->status == EVFS_OPERATION_TASK_STATUS_COMMITTED) { + if (op->processed_tasks == ecore_list_nodes(op->sub_task) && + task->status == EVFS_OPERATION_TASK_STATUS_COMMITTED) { + + printf("Sending completed progress event...\n"); + evfs_file_progress_event_create(op->client, EVFS_OPERATION_TASK_FILE_COPY(task)->file_from, EVFS_OPERATION_TASK_FILE_COPY(task)->file_to, op->command, 100, @@ -384,7 +387,7 @@ ecore_list_next(op->sub_task); } } else { - /*printf("Operation is in user wait state!\n");*/ + printf("Operation is in user wait state!\n"); } } else { /*If task is null, operation is completed!*/ |
From: Enlightenment C. <no...@cv...> - 2006-03-28 07:43:07
|
Enlightenment CVS committal Author : chaos Project : e17 Module : apps/evfs Dir : e17/apps/evfs Modified Files: TODO Log Message: * Slightly more debugging output in sftp, for now. There are issues here * Handle bzip2 errors more cleanly, and prevent endless loop lockup =================================================================== RCS file: /cvs/e/e17/apps/evfs/TODO,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- TODO 1 Jan 2006 04:21:50 -0000 1.5 +++ TODO 28 Mar 2006 07:42:33 -0000 1.6 @@ -11,4 +11,11 @@ [DONE] * iso plugin +Plugins +------- + SFTP + ---- + * Handle different open types. E.g. if you don't have write and create permissions, + you can't dl the file, etc. Need to build in an open mask to the open function. + |
From: Enlightenment C. <no...@cv...> - 2006-03-31 09:21:40
|
Enlightenment CVS committal Author : chaos Project : e17 Module : apps/evfs Dir : e17/apps/evfs/src/lib Modified Files: Makefile.am Log Message: * evfs_io -> eet consolidation, step 1 =================================================================== RCS file: /cvs/e/e17/apps/evfs/src/lib/Makefile.am,v retrieving revision 1.11 retrieving revision 1.12 diff -u -3 -r1.11 -r1.12 --- Makefile.am 5 Mar 2006 05:41:54 -0000 1.11 +++ Makefile.am 31 Mar 2006 09:21:32 -0000 1.12 @@ -21,7 +21,8 @@ $(top_srcdir)/src/common/evfs_io.c \ $(top_srcdir)/src/common/evfs_cleanup.c \ $(top_srcdir)/src/common/evfs_vfolder.c \ - $(top_srcdir)/src/common/evfs_misc.c + $(top_srcdir)/src/common/evfs_misc.c \ + $(top_srcdir)/src/common/evfs_common.c libevfs_la_LIBADD = \ @ecore_libs@ \ |
From: Enlightenment C. <no...@cv...> - 2006-03-31 09:22:10
|
Enlightenment CVS committal Author : chaos Project : e17 Module : apps/evfs Dir : e17/apps/evfs/src/common Modified Files: evfs_io.c Log Message: * evfs_io -> eet consolidation, step 1 =================================================================== RCS file: /cvs/e/e17/apps/evfs/src/common/evfs_io.c,v retrieving revision 1.49 retrieving revision 1.50 diff -u -3 -r1.49 -r1.50 --- evfs_io.c 14 Mar 2006 13:06:23 -0000 1.49 +++ evfs_io.c 31 Mar 2006 09:21:32 -0000 1.50 @@ -45,7 +45,13 @@ EET_DATA_DESCRIPTOR_ADD_BASIC(_evfs_filereference_edd, evfs_filereference, "plugin_uri", plugin_uri, EET_T_STRING); EET_DATA_DESCRIPTOR_ADD_BASIC(_evfs_filereference_edd, evfs_filereference, + "username", username, EET_T_STRING); + EET_DATA_DESCRIPTOR_ADD_BASIC(_evfs_filereference_edd, evfs_filereference, + "password", password, EET_T_STRING); + EET_DATA_DESCRIPTOR_ADD_BASIC(_evfs_filereference_edd, evfs_filereference, "fd", fd, EET_T_INT); + EET_DATA_DESCRIPTOR_ADD_SUB(_evfs_filereference_edd, evfs_filereference, "parent", parent, + _evfs_filereference_edd); /*Progress event eet */ _evfs_progress_event_edd = @@ -427,17 +433,15 @@ { evfs_filereference *ref; + ref = + eet_data_descriptor_decode(_evfs_filereference_edd, msg->data, + msg->len); if (!event->file_list.list) { event->file_list.list = ecore_list_new(); - //printf("Created new ecore list at %p\n", event->file_list.list); } - ref = - eet_data_descriptor_decode(_evfs_filereference_edd, msg->data, - msg->len); - if (ref) { ecore_list_append(event->file_list.list, ref); @@ -612,75 +616,25 @@ evfs_write_file_command(evfs_connection * conn, evfs_command * command) { int i; - char uri[1024]; - char *part; - int it; - Ecore_List *uri_part; - - bzero(uri, 1024); /*Write the files */ /*Send them de-parsed to save time */ for (i = 0; i < command->file_command.num_files; i++) { + char* data; + int size; evfs_filereference *ref = command->file_command.files[i]; - uri_part = ecore_dlist_new(); - - it = 0; - do - { - if (it) - { - ref = ref->parent; - } - - if (ref->username) - { - snprintf(uri, 1024, "%s://%s:%s@%s", - ref->plugin_uri, - ref->username, ref->password, ref->path); - } - else - { - snprintf(uri, 1024, "%s://%s", ref->plugin_uri, ref->path); - } - ecore_dlist_append(uri_part, strdup(uri)); - //printf("Appended URI '%s'\n", uri); - - it++; - } - while (ref->parent); - - it = 0; - bzero(uri, 1024); - - ecore_dlist_goto_last(uri_part); - while ((part = ecore_dlist_previous(uri_part))) - { - if (it) - strcat(uri, "#"); - strcat(uri, part); - - free(part); - it++; - } - ecore_dlist_destroy(uri_part); + data = eet_data_descriptor_encode(_evfs_filereference_edd, ref, &size); - //printf("RE-Parsed URI: '%s'\n", uri); evfs_write_ecore_ipc_server_message(conn->server, ecore_ipc_message_new(EVFS_COMMAND, EVFS_FILE_REFERENCE, - 0, 0, 0, uri, - sizeof(uri))); + 0, 0, 0, data, + size)); - evfs_write_ecore_ipc_server_message(conn->server, - ecore_ipc_message_new(EVFS_COMMAND, - EVFS_FILE_REFERENCE_FD, - 0, 0, 0, - &ref->fd, - sizeof(int))); + free(data); } @@ -714,68 +668,21 @@ file_command.extra, sizeof(int))); - /*Write the files */ - /*Send them de-parsed to save time */ - for (i = 0; i < command->file_command.num_files; i++) + for (i = 0; i < command->file_command.num_files; i++) { + char* data; + int size; evfs_filereference *ref = command->file_command.files[i]; - uri_part = ecore_dlist_new(); + data = eet_data_descriptor_encode(_evfs_filereference_edd, ref, &size); - it = 0; - do - { - if (it) - { - ref = ref->parent; - } - - if (ref->username) - { - snprintf(uri, 1024, "%s://%s:%s@%s", - ref->plugin_uri, - ref->username, ref->password, ref->path); - } - else - { - snprintf(uri, 1024, "%s://%s", ref->plugin_uri, ref->path); - } - ecore_dlist_append(uri_part, strdup(uri)); - //printf("Appended URI '%s'\n", uri); - - it++; - } - while (ref->parent); - - it = 0; - bzero(uri, 1024); - - ecore_dlist_goto_last(uri_part); - while ((part = ecore_dlist_previous(uri_part))) - { - if (it) - strcat(uri, "#"); - strcat(uri, part); - - free(part); - it++; - } - ecore_dlist_destroy(uri_part); evfs_write_ecore_ipc_client_message(client->client, ecore_ipc_message_new(EVFS_COMMAND, EVFS_FILE_REFERENCE, client->id, 0, - 0, uri, - sizeof(uri) + - 1)); - - evfs_write_ecore_ipc_client_message(client->client, - ecore_ipc_message_new(EVFS_COMMAND, - EVFS_FILE_REFERENCE_FD, - client->id, 0, - 0, &ref->fd, - sizeof(int))); + 0, data, + size)); } @@ -805,7 +712,13 @@ case EVFS_FILE_REFERENCE: { //printf("Parsing URI: '%s'\n", message->data); - evfs_file_uri_path *path = evfs_parse_uri(message->data); + //evfs_file_uri_path *path = evfs_parse_uri(message->data); + + ref = + eet_data_descriptor_decode(_evfs_filereference_edd, message->data, + message->len); + + if (command->file_command.num_files == 0) { @@ -815,18 +728,19 @@ * but that func can also be called from the client*/ if (server) { - ref = path->files[0]; + evfs_filereference* aref = ref; do { - ref->server = server; + aref->server = server; + aref->plugin = evfs_get_plugin_for_uri(server, aref->plugin_uri); } - while ((ref = ref->parent)); + while ((aref = aref->parent)); } command->file_command.num_files = 1; command->file_command.files = malloc(sizeof(evfs_filereference *)); - command->file_command.files[0] = path->files[0]; + command->file_command.files[0] = ref; } else @@ -839,12 +753,9 @@ realloc(command->file_command.files, sizeof(evfs_filereference *) * (command->file_command.num_files + 1)); - command->file_command.files[command->file_command.num_files] = - path->files[0]; + command->file_command.files[command->file_command.num_files] = ref; command->file_command.num_files++; } - - evfs_cleanup_file_uri_path(path); } break; |
From: Enlightenment C. <no...@cv...> - 2006-03-31 09:22:11
|
Enlightenment CVS committal Author : chaos Project : e17 Module : apps/evfs Dir : e17/apps/evfs/src/bin Modified Files: evfs_main.c Log Message: * evfs_io -> eet consolidation, step 1 =================================================================== RCS file: /cvs/e/e17/apps/evfs/src/bin/evfs_main.c,v retrieving revision 1.40 retrieving revision 1.41 diff -u -3 -r1.40 -r1.41 --- evfs_main.c 28 Mar 2006 07:42:33 -0000 1.40 +++ evfs_main.c 31 Mar 2006 09:21:31 -0000 1.41 @@ -350,7 +350,7 @@ ecore_idle_enterer_add(incoming_command_cb, NULL); /*Add a timer, to make sure our event loop keeps going. Kinda hacky */ - ecore_timer_add(0.02, ecore_timer_enterer, NULL); + ecore_timer_add(0.01, ecore_timer_enterer, NULL); /*Load the plugins */ evfs_load_plugins(); |
From: Enlightenment C. <no...@cv...> - 2006-03-31 13:47:50
|
Enlightenment CVS committal Author : chaos Project : e17 Module : apps/evfs Dir : e17/apps/evfs/src/common Modified Files: evfs_io.c Log Message: * Cruft-- =================================================================== RCS file: /cvs/e/e17/apps/evfs/src/common/evfs_io.c,v retrieving revision 1.50 retrieving revision 1.51 diff -u -3 -r1.50 -r1.51 --- evfs_io.c 31 Mar 2006 09:21:32 -0000 1.50 +++ evfs_io.c 31 Mar 2006 13:47:41 -0000 1.51 @@ -457,7 +457,6 @@ case EVFS_COMMAND_TYPE: case EVFS_COMMAND_EXTRA: case EVFS_FILE_REFERENCE: - case EVFS_FILE_REFERENCE_FD: case EVFS_COMMAND_END: evfs_process_incoming_command(NULL, &event->resp_command, msg); break; @@ -758,48 +757,6 @@ } } - break; - - case EVFS_FILE_REFERENCE_USERNAME: - if (command->file_command.num_files) - { - command->file_command.files[command->file_command.num_files - - 1]->username = strdup(message->data); - printf("Received username: '%s'\n", - command->file_command.files[command->file_command. - num_files - 1]->username); - } - else - { - printf("BAD: Received a username before a filerefereence!\n"); - } - break; - - case EVFS_FILE_REFERENCE_PASSWORD: - if (command->file_command.num_files) - { - command->file_command.files[command->file_command.num_files - - 1]->password = strdup(message->data); - printf("Received password: '%s'\n", - command->file_command.files[command->file_command. - num_files - 1]->password); - } - else - { - printf("BAD: Received a password before a filerefereence!\n"); - } - break; - - case EVFS_FILE_REFERENCE_FD: - if (command->file_command.num_files) - { - command->file_command.files[command->file_command.num_files - - 1]->fd = *(int *)message->data; - } - else - { - printf("BAD: Received an FD before a filerefereence!\n"); - } break; case EVFS_COMMAND_PART_OPERATION: |
From: Enlightenment C. <no...@cv...> - 2006-04-03 10:10:33
|
Enlightenment CVS committal Author : chaos Project : e17 Module : apps/evfs Dir : e17/apps/evfs/src/lib Modified Files: evfs_commands.c Log Message: * I *swear* i fixed this already =================================================================== RCS file: /cvs/e/e17/apps/evfs/src/lib/evfs_commands.c,v retrieving revision 1.23 retrieving revision 1.24 diff -u -3 -r1.23 -r1.24 --- evfs_commands.c 11 Mar 2006 07:11:16 -0000 1.23 +++ evfs_commands.c 3 Apr 2006 10:10:11 -0000 1.24 @@ -66,8 +66,8 @@ command->file_command.files[0] = from; command->file_command.files[1] = to; - free(command->file_command.files); evfs_write_command(conn, command); + free(command->file_command.files); free(command); |
From: Enlightenment C. <no...@cv...> - 2006-04-05 02:23:05
|
Enlightenment CVS committal Author : chaos Project : e17 Module : apps/evfs Dir : e17/apps/evfs/src/include Modified Files: evfs_event.h Log Message: * Pass st_mode back correctly =================================================================== RCS file: /cvs/e/e17/apps/evfs/src/include/evfs_event.h,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- evfs_event.h 12 Mar 2006 05:27:33 -0000 1.10 +++ evfs_event.h 5 Apr 2006 02:22:48 -0000 1.11 @@ -66,6 +66,7 @@ /*-----------------------------------------------------------------*/ typedef struct evfs_stat { + int st_mode; int st_uid; int st_gid; uint64 st_size; |
From: Enlightenment C. <no...@cv...> - 2006-04-05 02:23:06
|
Enlightenment CVS committal Author : chaos Project : e17 Module : apps/evfs Dir : e17/apps/evfs/src/common Modified Files: evfs_event_helper.c Log Message: * Pass st_mode back correctly =================================================================== RCS file: /cvs/e/e17/apps/evfs/src/common/evfs_event_helper.c,v retrieving revision 1.24 retrieving revision 1.25 diff -u -3 -r1.24 -r1.25 --- evfs_event_helper.c 12 Mar 2006 05:27:33 -0000 1.24 +++ evfs_event_helper.c 5 Apr 2006 02:22:48 -0000 1.25 @@ -38,6 +38,7 @@ event->type = EVFS_EV_STAT; //memcpy(&event->stat.stat_obj, stat_obj, sizeof(struct stat)); + event->stat.stat_obj.st_mode = stat_obj->st_mode; event->stat.stat_obj.st_uid = stat_obj->st_uid; event->stat.stat_obj.st_gid = stat_obj->st_gid; event->stat.stat_obj.st_uid = stat_obj->st_uid; |
From: Enlightenment C. <no...@cv...> - 2006-04-05 05:39:20
|
Enlightenment CVS committal Author : chaos Project : e17 Module : apps/evfs Dir : e17/apps/evfs/src/lib Modified Files: evfs_commands.c libevfs.c Log Message: * Attach a generated identifer to each command, for tracking purposes =================================================================== RCS file: /cvs/e/e17/apps/evfs/src/lib/evfs_commands.c,v retrieving revision 1.24 retrieving revision 1.25 diff -u -3 -r1.24 -r1.25 --- evfs_commands.c 3 Apr 2006 10:10:11 -0000 1.24 +++ evfs_commands.c 5 Apr 2006 05:39:05 -0000 1.25 @@ -3,7 +3,7 @@ void evfs_monitor_add(evfs_connection * conn, evfs_filereference * ref) { - evfs_command *command = NEW(evfs_command); + evfs_command *command = evfs_client_command_new(); /*printf("Adding a monitor on: '%s' using '%s'\n", ref->path, ref->plugin_uri); */ @@ -22,7 +22,7 @@ void evfs_monitor_remove(evfs_connection * conn, evfs_filereference * ref) { - evfs_command *command = NEW(evfs_command); + evfs_command *command = evfs_client_command_new(); command->type = EVFS_CMD_STOPMON_FILE; command->file_command.num_files = 1; @@ -38,7 +38,7 @@ void evfs_client_file_remove(evfs_connection * conn, evfs_filereference * ref) { - evfs_command *command = NEW(evfs_command); + evfs_command *command = evfs_client_command_new(); command->type = EVFS_CMD_REMOVE_FILE; command->file_command.num_files = 1; @@ -56,7 +56,7 @@ evfs_client_file_rename(evfs_connection * conn, evfs_filereference * from, evfs_filereference * to) { - evfs_command *command = NEW(evfs_command); + evfs_command *command = evfs_client_command_new(); printf("Renaming a file..\n"); @@ -76,7 +76,7 @@ void evfs_client_file_stat(evfs_connection * conn, evfs_filereference * file) { - evfs_command *command = NEW(evfs_command); + evfs_command *command = evfs_client_command_new(); command->type = EVFS_CMD_FILE_STAT; command->file_command.num_files = 1; @@ -93,7 +93,7 @@ void evfs_client_dir_list(evfs_connection * conn, evfs_filereference * file) { - evfs_command *command = NEW(evfs_command); + evfs_command *command = evfs_client_command_new(); printf("Listing a directory..\n"); @@ -114,7 +114,7 @@ evfs_filereference * to) { - evfs_command *command = NEW(evfs_command); + evfs_command *command = evfs_client_command_new(); /*printf("Copying a file..\n"); */ @@ -133,7 +133,7 @@ void evfs_client_file_open(evfs_connection * conn, evfs_filereference * file) { - evfs_command *command = NEW(evfs_command); + evfs_command *command = evfs_client_command_new(); fprintf(stderr, "Opening a file..\n"); @@ -152,7 +152,7 @@ evfs_client_file_read(evfs_connection * conn, evfs_filereference * file, int read_size) { - evfs_command *command = NEW(evfs_command); + evfs_command *command = evfs_client_command_new(); //printf("Reading a file..\n"); @@ -172,7 +172,7 @@ void evfs_client_directory_create(evfs_connection * conn, evfs_filereference * file) { - evfs_command *command = NEW(evfs_command); + evfs_command *command = evfs_client_command_new(); //printf("Reading a file..\n"); @@ -192,7 +192,7 @@ evfs_client_operation_respond(evfs_connection * conn, long opid, evfs_operation_response response) { - evfs_command *command = NEW(evfs_command); + evfs_command *command = evfs_client_command_new(); //printf("Reading a file..\n"); =================================================================== RCS file: /cvs/e/e17/apps/evfs/src/lib/libevfs.c,v retrieving revision 1.36 retrieving revision 1.37 diff -u -3 -r1.36 -r1.37 --- libevfs.c 4 Mar 2006 04:54:15 -0000 1.36 +++ libevfs.c 5 Apr 2006 05:39:05 -0000 1.37 @@ -3,7 +3,22 @@ #define MAX_ATTEMPTS 5 Ecore_List *client_list = NULL; -static int libevfs_registered_callback = 0; +static int _libevfs_init = 0; +static long _libevfs_next_command_id; + + +long libevfs_next_command_id_get() +{ + return _libevfs_next_command_id++; +} + +evfs_command* evfs_client_command_new() +{ + evfs_command* command = NEW(evfs_command); + command->client_identifier = libevfs_next_command_id_get(); + + return command; +} /*It would seem a good idea to convert this to a hash - but we'd need the actual pointer to the int, or make an ecore_int_hash*/ evfs_connection * @@ -156,9 +171,12 @@ evfs_io_initialise(); evfs_vfolder_initialise(); - if (!libevfs_registered_callback) + if (!_libevfs_init) { - libevfs_registered_callback = 1; + _libevfs_init = 1; + _libevfs_next_command_id = 1; + + /*Register the callback*/ ecore_event_handler_add(ECORE_IPC_EVENT_SERVER_DATA, evfs_server_data, NULL); client_list = ecore_list_new(); |
From: Enlightenment C. <no...@cv...> - 2006-04-05 05:39:54
|
Enlightenment CVS committal Author : chaos Project : e17 Module : apps/evfs Dir : e17/apps/evfs/src/include Modified Files: evfs_command.h evfs_event.h evfs_misc.h Log Message: * Attach a generated identifer to each command, for tracking purposes =================================================================== RCS file: /cvs/e/e17/apps/evfs/src/include/evfs_command.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- evfs_command.h 12 Mar 2006 05:27:33 -0000 1.7 +++ evfs_command.h 5 Apr 2006 05:39:05 -0000 1.8 @@ -37,6 +37,8 @@ evfs_command_type type; evfs_command_file file_command; struct evfs_operation *op; + + long client_identifier; } evfs_command; =================================================================== RCS file: /cvs/e/e17/apps/evfs/src/include/evfs_event.h,v retrieving revision 1.11 retrieving revision 1.12 diff -u -3 -r1.11 -r1.12 --- evfs_event.h 5 Apr 2006 02:22:48 -0000 1.11 +++ evfs_event.h 5 Apr 2006 05:39:05 -0000 1.12 @@ -51,6 +51,7 @@ EVFS_COMMAND_END = 20, EVFS_COMMAND_PART_OPERATION = 21, + EVFS_COMMAND_CLIENTID = 22, EVFS_EV_PART_END = 1000 } evfs_eventpart; =================================================================== RCS file: /cvs/e/e17/apps/evfs/src/include/evfs_misc.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- evfs_misc.h 14 Mar 2006 13:06:23 -0000 1.7 +++ evfs_misc.h 5 Apr 2006 05:39:05 -0000 1.8 @@ -43,4 +43,7 @@ evfs_filereference* evfs_empty_file_get(); +long libevfs_next_command_id_get(); +evfs_command* evfs_client_command_new(); + #endif |
From: Enlightenment C. <no...@cv...> - 2006-04-05 05:39:54
|
Enlightenment CVS committal Author : chaos Project : e17 Module : apps/evfs Dir : e17/apps/evfs/src/common Modified Files: evfs_io.c Log Message: * Attach a generated identifer to each command, for tracking purposes =================================================================== RCS file: /cvs/e/e17/apps/evfs/src/common/evfs_io.c,v retrieving revision 1.51 retrieving revision 1.52 diff -u -3 -r1.51 -r1.52 --- evfs_io.c 31 Mar 2006 13:47:41 -0000 1.51 +++ evfs_io.c 5 Apr 2006 05:39:04 -0000 1.52 @@ -457,6 +457,7 @@ case EVFS_COMMAND_TYPE: case EVFS_COMMAND_EXTRA: case EVFS_FILE_REFERENCE: + case EVFS_COMMAND_CLIENTID: case EVFS_COMMAND_END: evfs_process_incoming_command(NULL, &event->resp_command, msg); break; @@ -537,6 +538,13 @@ file_command.extra, sizeof(int))); + evfs_write_ecore_ipc_server_message(conn->server, + ecore_ipc_message_new(EVFS_COMMAND, + EVFS_COMMAND_CLIENTID, + 0, 0, 0, + &command->client_identifier, + sizeof(long))); + switch (command->type) { case EVFS_CMD_STOPMON_FILE: @@ -569,6 +577,8 @@ void evfs_write_command_client(evfs_client * client, evfs_command * command) { + + switch (command->type) { case EVFS_CMD_STOPMON_FILE: @@ -644,9 +654,6 @@ { int i; char uri[1024]; - char *part; - int it; - Ecore_List *uri_part; bzero(uri, 1024); @@ -667,6 +674,13 @@ file_command.extra, sizeof(int))); + evfs_write_ecore_ipc_client_message(client->client, + ecore_ipc_message_new(EVFS_COMMAND, + EVFS_COMMAND_CLIENTID, + client->id, 0, 0, + &command->client_identifier, + sizeof(long))); + for (i = 0; i < command->file_command.num_files; i++) { char* data; @@ -708,6 +722,10 @@ case EVFS_COMMAND_EXTRA: memcpy(&command->file_command.extra, message->data, sizeof(int)); break; + + case EVFS_COMMAND_CLIENTID: + memcpy(&command->client_identifier, message->data, sizeof(long)); + break; case EVFS_FILE_REFERENCE: { //printf("Parsing URI: '%s'\n", message->data); |
From: Enlightenment C. <no...@cv...> - 2006-04-05 05:43:18
|
Enlightenment CVS committal Author : chaos Project : e17 Module : apps/evfs Dir : e17/apps/evfs/src/include Modified Files: evfs_commands.h Log Message: * And pass the id back to the client =================================================================== RCS file: /cvs/e/e17/apps/evfs/src/include/evfs_commands.h,v retrieving revision 1.11 retrieving revision 1.12 diff -u -3 -r1.11 -r1.12 --- evfs_commands.h 11 Mar 2006 07:11:16 -0000 1.11 +++ evfs_commands.h 5 Apr 2006 05:43:04 -0000 1.12 @@ -1,21 +1,21 @@ #ifndef __EVFS_COMMANDS_H_ #define __EVFS_COMMANDS_H_ -void evfs_monitor_add(evfs_connection * conn, evfs_filereference * ref); -void evfs_monitor_remove(evfs_connection * conn, evfs_filereference * ref); -void evfs_client_file_remove(evfs_connection * conn, evfs_filereference * ref); -void evfs_client_file_rename(evfs_connection * conn, evfs_filereference * from, +long evfs_monitor_add(evfs_connection * conn, evfs_filereference * ref); +long evfs_monitor_remove(evfs_connection * conn, evfs_filereference * ref); +long evfs_client_file_remove(evfs_connection * conn, evfs_filereference * ref); +long evfs_client_file_rename(evfs_connection * conn, evfs_filereference * from, evfs_filereference * to); -void evfs_client_file_stat(evfs_connection * conn, evfs_filereference * file); -void evfs_client_dir_list(evfs_connection * conn, evfs_filereference * file); -void evfs_client_file_open(evfs_connection * conn, evfs_filereference * file); -void evfs_client_file_copy(evfs_connection * conn, evfs_filereference * from, +long evfs_client_file_stat(evfs_connection * conn, evfs_filereference * file); +long evfs_client_dir_list(evfs_connection * conn, evfs_filereference * file); +long evfs_client_file_open(evfs_connection * conn, evfs_filereference * file); +long evfs_client_file_copy(evfs_connection * conn, evfs_filereference * from, evfs_filereference * to); -void evfs_client_file_read(evfs_connection * conn, evfs_filereference * file, +long evfs_client_file_read(evfs_connection * conn, evfs_filereference * file, int read_size); -void evfs_client_operation_respond(evfs_connection * conn, long opid, +long evfs_client_operation_respond(evfs_connection * conn, long opid, evfs_operation_response response); -void evfs_client_directory_create(evfs_connection * conn, evfs_filereference * file); +long evfs_client_directory_create(evfs_connection * conn, evfs_filereference * file); #endif |
From: Enlightenment C. <no...@cv...> - 2006-04-05 05:43:18
|
Enlightenment CVS committal Author : chaos Project : e17 Module : apps/evfs Dir : e17/apps/evfs/src/lib Modified Files: evfs_commands.c Log Message: * And pass the id back to the client =================================================================== RCS file: /cvs/e/e17/apps/evfs/src/lib/evfs_commands.c,v retrieving revision 1.25 retrieving revision 1.26 diff -u -3 -r1.25 -r1.26 --- evfs_commands.c 5 Apr 2006 05:39:05 -0000 1.25 +++ evfs_commands.c 5 Apr 2006 05:43:04 -0000 1.26 @@ -1,9 +1,10 @@ #include "evfs.h" -void +long evfs_monitor_add(evfs_connection * conn, evfs_filereference * ref) { evfs_command *command = evfs_client_command_new(); + long id = command->client_identifier; /*printf("Adding a monitor on: '%s' using '%s'\n", ref->path, ref->plugin_uri); */ @@ -16,13 +17,16 @@ free(command->file_command.files); free(command); + + return id; } -void +long evfs_monitor_remove(evfs_connection * conn, evfs_filereference * ref) { evfs_command *command = evfs_client_command_new(); + long id = command->client_identifier; command->type = EVFS_CMD_STOPMON_FILE; command->file_command.num_files = 1; @@ -33,12 +37,15 @@ free(command->file_command.files); free(command); + + return id; } -void +long evfs_client_file_remove(evfs_connection * conn, evfs_filereference * ref) { evfs_command *command = evfs_client_command_new(); + long id = command->client_identifier; command->type = EVFS_CMD_REMOVE_FILE; command->file_command.num_files = 1; @@ -50,15 +57,15 @@ free(command->file_command.files); free(command); + return id; } -void +long evfs_client_file_rename(evfs_connection * conn, evfs_filereference * from, evfs_filereference * to) { evfs_command *command = evfs_client_command_new(); - - printf("Renaming a file..\n"); + long id = command->client_identifier; command->type = EVFS_CMD_RENAME_FILE; command->file_command.num_files = 2; @@ -71,12 +78,14 @@ free(command); + return id; } -void +long evfs_client_file_stat(evfs_connection * conn, evfs_filereference * file) { evfs_command *command = evfs_client_command_new(); + long id = command->client_identifier; command->type = EVFS_CMD_FILE_STAT; command->file_command.num_files = 1; @@ -88,14 +97,14 @@ free(command->file_command.files); free(command); + return id; } -void +long evfs_client_dir_list(evfs_connection * conn, evfs_filereference * file) { evfs_command *command = evfs_client_command_new(); - - printf("Listing a directory..\n"); + long id = command->client_identifier; command->type = EVFS_CMD_LIST_DIR; command->file_command.num_files = 1; @@ -107,16 +116,16 @@ free(command->file_command.files); free(command); + return id; } -void +long evfs_client_file_copy(evfs_connection * conn, evfs_filereference * from, evfs_filereference * to) { evfs_command *command = evfs_client_command_new(); - - /*printf("Copying a file..\n"); */ + long id = command->client_identifier; command->type = EVFS_CMD_FILE_COPY; command->file_command.num_files = 2; @@ -128,14 +137,15 @@ free(command->file_command.files); free(command); + + return id; } -void +long evfs_client_file_open(evfs_connection * conn, evfs_filereference * file) { evfs_command *command = evfs_client_command_new(); - - fprintf(stderr, "Opening a file..\n"); + long id = command->client_identifier; command->type = EVFS_CMD_FILE_OPEN; command->file_command.num_files = 1; @@ -146,13 +156,16 @@ free(command->file_command.files); free(command); + + return id; } -void +long evfs_client_file_read(evfs_connection * conn, evfs_filereference * file, int read_size) { evfs_command *command = evfs_client_command_new(); + long id = command->client_identifier; //printf("Reading a file..\n"); @@ -166,13 +179,17 @@ free(command->file_command.files); free(command); + + + return id; } -void +long evfs_client_directory_create(evfs_connection * conn, evfs_filereference * file) { evfs_command *command = evfs_client_command_new(); + long id = command->client_identifier; //printf("Reading a file..\n"); @@ -185,27 +202,32 @@ free(command->file_command.files); free(command); + + + return id; } -void +long evfs_client_operation_respond(evfs_connection * conn, long opid, evfs_operation_response response) { evfs_command *command = evfs_client_command_new(); - + long id = command->client_identifier; + //printf("Reading a file..\n"); command->type = EVFS_CMD_OPERATION_RESPONSE; - printf("Command type for op response: %d\n", command->type); command->op = NEW(evfs_operation); command->op->id = opid; command->op->response = response; - printf("Command type for op response: %d\n", command->type); evfs_write_command(conn, command); free(command->op); free(command); + + + return id; } |
From: Enlightenment C. <no...@cv...> - 2006-04-09 09:03:11
|
Enlightenment CVS committal Author : chaos Project : e17 Module : apps/evfs Dir : e17/apps/evfs/src/plugins Modified Files: evfs_fs_samba.c Log Message: * Last error checking catch before the full error check overhaul =================================================================== RCS file: /cvs/e/e17/apps/evfs/src/plugins/evfs_fs_samba.c,v retrieving revision 1.32 retrieving revision 1.33 diff -u -3 -r1.32 -r1.33 --- evfs_fs_samba.c 12 Mar 2006 06:32:25 -0000 1.32 +++ evfs_fs_samba.c 9 Apr 2006 09:02:44 -0000 1.33 @@ -486,9 +486,8 @@ //printf("Reading %ld bytes from file %s\n", size, file->path); evfs_smb_populate_fd(file); - //printf("FD Pointer: %p\n", file->fd_p); - bytes_read = smb_context->read(smb_context, file->fd_p, bytes, size); + if (file->fd_p) bytes_read = smb_context->read(smb_context, file->fd_p, bytes, size); return bytes_read; } |
From: Enlightenment C. <no...@cv...> - 2006-04-09 09:03:34
|
Enlightenment CVS committal Author : chaos Project : e17 Module : apps/evfs Dir : e17/apps/evfs Modified Files: TODO Log Message: * Last error checking catch before the full error check overhaul =================================================================== RCS file: /cvs/e/e17/apps/evfs/TODO,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- TODO 28 Mar 2006 07:42:33 -0000 1.6 +++ TODO 9 Apr 2006 09:02:43 -0000 1.7 @@ -1,6 +1,7 @@ TODO ---- + * Unique identifier per command, for easier tracking * Exception handling * File permissions checking [DONE] * Remove monitors for client when client disconnects |
From: Enlightenment C. <no...@cv...> - 2006-04-09 09:03:34
|
Enlightenment CVS committal Author : chaos Project : e17 Module : apps/evfs Dir : e17/apps/evfs/src/bin Modified Files: evfs_operation.c evfs_operation_tasks.c Log Message: * Last error checking catch before the full error check overhaul =================================================================== RCS file: /cvs/e/e17/apps/evfs/src/bin/evfs_operation.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -3 -r1.11 -r1.12 --- evfs_operation.c 28 Mar 2006 07:42:33 -0000 1.11 +++ evfs_operation.c 9 Apr 2006 09:02:43 -0000 1.12 @@ -277,7 +277,6 @@ void evfs_operation_run_tasks(evfs_operation* op) { - printf("Running tasks..\n"); evfs_operation_task* task = NULL; task = ecore_list_current(op->sub_task); @@ -300,7 +299,6 @@ double calc; - printf("...Processing file copy task type!\n"); prog = evfs_operation_tasks_file_copy_run(op, EVFS_OPERATION_TASK_FILE_COPY(task)); EVFS_OPERATION_FILES(op)->progress_bytes += prog; =================================================================== RCS file: /cvs/e/e17/apps/evfs/src/bin/evfs_operation_tasks.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- evfs_operation_tasks.c 14 Mar 2006 13:06:22 -0000 1.4 +++ evfs_operation_tasks.c 9 Apr 2006 09:02:44 -0000 1.5 @@ -79,6 +79,12 @@ /*printf("Counter increment to: %lld\n", copy->next_byte);*/ } + /*FIXME - do error handling here somehow*/ + if (b_read == 0) { + printf("File copy error - read 0 bytes\n"); + copy->next_byte = copy->source_stat.st_size; + } + iter++; } |
From: Enlightenment C. <no...@cv...> - 2006-04-11 07:01:29
|
Enlightenment CVS committal Author : chaos Project : e17 Module : apps/evfs Dir : e17/apps/evfs/src/include Modified Files: evfs.h evfs_macros.h Log Message: * Pthread cruft removal =================================================================== RCS file: /cvs/e/e17/apps/evfs/src/include/evfs.h,v retrieving revision 1.44 retrieving revision 1.45 diff -u -3 -r1.44 -r1.45 --- evfs.h 12 Mar 2006 05:27:33 -0000 1.44 +++ evfs.h 11 Apr 2006 07:01:03 -0000 1.45 @@ -12,7 +12,6 @@ #include <Ecore.h> #include <Ecore_Ipc.h> #include <Ecore_File.h> -#include <pthread.h> #include <stdlib.h> #include <string.h> =================================================================== RCS file: /cvs/e/e17/apps/evfs/src/include/evfs_macros.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- evfs_macros.h 3 Feb 2006 23:12:13 -0000 1.6 +++ evfs_macros.h 11 Apr 2006 07:01:03 -0000 1.7 @@ -2,8 +2,6 @@ #define __EVFS_MACROS_H_ #define NEW(X) ((X*) calloc(1, sizeof(X))) -#define LOCK(X) (pthread_mutex_lock(X)) -#define UNLOCK(X) (pthread_mutex_unlock(X)) #define READDIR(dir, de, de_ptr) (de_ptr = readdir(dir)) #define CTIME(time_ptr, buf) (buf = ctime(time_ptr)) |
From: Enlightenment C. <no...@cv...> - 2006-04-11 07:01:59
|
Enlightenment CVS committal Author : chaos Project : e17 Module : apps/evfs Dir : e17/apps/evfs Modified Files: configure.in Log Message: * Pthread cruft removal =================================================================== RCS file: /cvs/e/e17/apps/evfs/configure.in,v retrieving revision 1.19 retrieving revision 1.20 diff -u -3 -r1.19 -r1.20 --- configure.in 5 Apr 2006 11:44:33 -0000 1.19 +++ configure.in 11 Apr 2006 07:01:03 -0000 1.20 @@ -20,15 +20,6 @@ CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64" -use_threads="yes" - -dnl Check for functions that we need to be thread-safe. -AC_CHECK_FUNCS(readdir_r ctime_r, , have_all_threadsafe_funcs="no") -if test "$have_all_threadsafe_funcs" = "no"; then - use_threads="no" - AC_MSG_WARN(Not all functions needed for multithreaded build found, not using threads.) -fi - dnl Check for statfs call or other alternatives. AC_CHECK_FUNC(statfs, , have_statfs="no") if test "$have_statfs" = "no"; then @@ -110,51 +101,6 @@ AC_SUBST(SAMBA_CFLAGS) AC_SUBST(SAMBA_LIBS) - -dnl Check for pthreads. Make sure we have both -dnl header and lib, otherwise, or when --disable-threads -dnl was given, build without thread support. -AC_ARG_ENABLE(threads, - AC_HELP_STRING([--enable-threads],[enable thread support @<:@default=yes@:>@]), - use_threads=$enableval) - -dnl This needs revisiting -PTHREAD_CFLAGS= -PTHREAD_LIB= -if test "$use_threads" = "yes"; then - AC_CHECK_HEADER(pthread.h, pthread_header_ok="yes", pthread_header_ok="no") - if test "$pthread_header_ok" = "yes"; then - AC_CHECK_LIB(pthread, main, PTHREAD_LIB="-lpthread", PTHREAD_LIB="error") - if test "$PTHREAD_LIB" = "error"; then - AC_CHECK_LIB(c_r, main, PTHREAD_LIB="-pthread", pthread_lib_ok="no") - fi - fi - if test "$pthread_header_ok" = "no" -o "$pthread_lib_ok" = "no"; then - cat <<EOF; ------------------------------------------------------- -WARNING: Could not find a complete POSIX threads -(pthreads) installation on your system -- building -without thread support. ------------------------------------------------------- -EOF - AM_CONDITIONAL(USE_THREADS_FILES, false) - else - AC_DEFINE(USE_THREADS, 1, [Build support for threads]) - AM_CONDITIONAL(USE_THREADS_FILES, true) - if test "$PTHREAD_LIB" = "-pthread"; then - PTHREAD_CFLAGS="-D_THREAD_SAFE -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS" - else - PTHREAD_CFLAGS="-D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS" - fi - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - LIBS="$LIBS $PTHREAD_LIB" - fi -else - AM_CONDITIONAL(USE_THREADS_FILES, false) -fi - -AC_SUBST(PTHREAD_CFLAGS) -AC_SUBST(PTHREAD_LIB) dnl Check for libxml. AC_ARG_WITH(xml2, |
From: Enlightenment C. <no...@cv...> - 2006-04-11 07:02:04
|
Enlightenment CVS committal Author : chaos Project : e17 Module : apps/evfs Dir : e17/apps/evfs/src/common Modified Files: evfs_debug.c Log Message: * Pthread cruft removal =================================================================== RCS file: /cvs/e/e17/apps/evfs/src/common/evfs_debug.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- evfs_debug.c 3 Feb 2006 23:12:13 -0000 1.4 +++ evfs_debug.c 11 Apr 2006 07:01:03 -0000 1.5 @@ -28,30 +28,6 @@ #include "evfs.h" -#if USE_THREADS -#include <pthread.h> - -/* This is a thread-specific call depth register, - and a mutex to lock output for a single thread - at a time. -*/ - -static pthread_mutex_t debug_mutex = PTHREAD_MUTEX_INITIALIZER; -static pthread_once_t debug_once = PTHREAD_ONCE_INIT; -static pthread_key_t debug_calldepth_key; - -static void debug_once_init(void); -static void debug_destructor(void *item); -#else - -/* We're not using threads -- here's a simple calldepth - variable, and a pointer to it to be code-compatible - to the threaded case. -*/ -static int calldepth = 0; -static void *calldepth_ptr = &calldepth; -#endif - static void debug_whitespace(int calldepth); static void debug_print_thread_info(void); @@ -68,96 +44,4 @@ debug_print_thread_info(void) { printf("evfs "); - -#if USE_THREADS - printf("[%li]: ", pthread_self()); -#else - printf("[%i]: ", getpid()); -#endif -} - -#if USE_THREADS -static void -debug_once_init(void) -{ - pthread_key_create(&debug_calldepth_key, debug_destructor); -} - -static void -debug_destructor(void *item) -{ - free(item); -} -#endif - -void -evfs_debug_output_start(void) -{ -#if USE_THREADS - pthread_mutex_lock(&debug_mutex); -#endif - - debug_print_thread_info(); -} - -void -evfs_debug_output_end(void) -{ - fflush(stdout); - -#if USE_THREADS - pthread_mutex_unlock(&debug_mutex); -#endif -} - -void -evfs_debug_enter(const char *file, const char *func) -{ -#if USE_THREADS - void *calldepth_ptr; - - pthread_once(&debug_once, debug_once_init); - if ((calldepth_ptr = pthread_getspecific(debug_calldepth_key)) == NULL) - { - calldepth_ptr = malloc(sizeof(int)); - *((int *)calldepth_ptr) = 0; - pthread_setspecific(debug_calldepth_key, calldepth_ptr); - } - - pthread_mutex_lock(&debug_mutex); -#endif - - (*((int *)calldepth_ptr))++; - printf("ENTER "); - debug_print_thread_info(); - debug_whitespace(*((int *)calldepth_ptr)); - printf("%s, %s()\n", file, func); - fflush(stdout); - -#if USE_THREADS - pthread_mutex_unlock(&debug_mutex); -#endif -} - -void -evfs_debug_return(const char *file, const char *func) -{ -#if USE_THREADS - void *calldepth_ptr; - - calldepth_ptr = pthread_getspecific(debug_calldepth_key); - pthread_mutex_lock(&debug_mutex); -#endif - - printf("RETURN "); - debug_print_thread_info(); - debug_whitespace(*((int *)calldepth_ptr)); - printf("%s, %s()\n", file, func); - fflush(stdout); - - (*((int *)calldepth_ptr))--; - -#if USE_THREADS - pthread_mutex_unlock(&debug_mutex); -#endif } |
From: Enlightenment C. <no...@cv...> - 2006-04-15 03:16:26
|
Enlightenment CVS committal Author : chaos Project : e17 Module : apps/evfs Dir : e17/apps/evfs/src/bin Modified Files: evfs_main.c Log Message: * Oops - that's what happens when you borrow configure.in entries :) =================================================================== RCS file: /cvs/e/e17/apps/evfs/src/bin/evfs_main.c,v retrieving revision 1.41 retrieving revision 1.42 diff -u -3 -r1.41 -r1.42 --- evfs_main.c 31 Mar 2006 09:21:31 -0000 1.41 +++ evfs_main.c 15 Apr 2006 03:15:54 -0000 1.42 @@ -302,6 +302,7 @@ PACKAGE_PLUGIN_DIR "/plugins/file"); exit(1); } + closedir(dir); } |
From: Enlightenment C. <no...@cv...> - 2006-04-15 03:16:56
|
Enlightenment CVS committal Author : chaos Project : e17 Module : apps/evfs Dir : e17/apps/evfs Modified Files: configure.in Log Message: * Oops - that's what happens when you borrow configure.in entries :) =================================================================== RCS file: /cvs/e/e17/apps/evfs/configure.in,v retrieving revision 1.20 retrieving revision 1.21 diff -u -3 -r1.20 -r1.21 --- configure.in 11 Apr 2006 07:01:03 -0000 1.20 +++ configure.in 15 Apr 2006 03:15:54 -0000 1.21 @@ -154,7 +154,7 @@ AC_CHECK_LIB(bz2, bzCompressInit, AC_DEFINE(HAVE_OLDER_BZIP2, 1, [Define to 1 if older bzip2 version is used])) AC_CHECK_HEADERS(bzlib.h, BZ2_LIBS="$BZ2_LIBS -lbz2", - AC_MSG_ERROR([Gnome-vfs requires libbz2 to compile.]) + AC_MSG_WARN([evfs requires libbz2 to compile.]) ) AC_SUBST(BZ2_LIBS) |
From: Enlightenment C. <no...@cv...> - 2006-04-21 15:06:26
|
Enlightenment CVS committal Author : chaos Project : e17 Module : apps/evfs Dir : e17/apps/evfs/src/plugins/file Log Message: Directory /cvs/e/e17/apps/evfs/src/plugins/file added to the repository |