diff options
author | unknown <istruewing@chilla.local> | 2006-10-11 22:28:06 +0200 |
---|---|---|
committer | unknown <istruewing@chilla.local> | 2006-10-11 22:28:06 +0200 |
commit | 403cc15508e9129db0196e8b98b72a4ff1a4db03 (patch) | |
tree | 91edd5965a34465b41215daf0115af0615c4c1aa /include/my_sys.h | |
parent | 6abdffe4f6c55ce53efa73167b15be1e33769673 (diff) | |
parent | 679b5848f3af7e1833385ef20d099dfde277b8c0 (diff) | |
download | mariadb-git-403cc15508e9129db0196e8b98b72a4ff1a4db03.tar.gz |
Merge bk-internal.mysql.com:/home/bk/mysql-4.1-engines
into chilla.local:/home/mydev/mysql-4.1-bug8283-one
include/my_sys.h:
Auto merged
Diffstat (limited to 'include/my_sys.h')
-rw-r--r-- | include/my_sys.h | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/include/my_sys.h b/include/my_sys.h index 46e09e8ddf4..4c9a7a7964c 100644 --- a/include/my_sys.h +++ b/include/my_sys.h @@ -325,12 +325,18 @@ typedef int (*IO_CACHE_CALLBACK)(struct st_io_cache*); #ifdef THREAD typedef struct st_io_cache_share { - /* to sync on reads into buffer */ - pthread_mutex_t mutex; - pthread_cond_t cond; - int count, total; - /* actual IO_CACHE that filled the buffer */ - struct st_io_cache *active; + pthread_mutex_t mutex; /* To sync on reads into buffer. */ + pthread_cond_t cond; /* To wait for signals. */ + pthread_cond_t cond_writer; /* For a synchronized writer. */ + /* Offset in file corresponding to the first byte of buffer. */ + my_off_t pos_in_file; + /* If a synchronized write cache is the source of the data. */ + struct st_io_cache *source_cache; + byte *buffer; /* The read buffer. */ + byte *read_end; /* Behind last valid byte of buffer. */ + int running_threads; /* threads not in lock. */ + int total_threads; /* threads sharing the cache. */ + int error; /* Last error. */ #ifdef NOT_YET_IMPLEMENTED /* whether the structure should be free'd */ my_bool alloced; @@ -672,8 +678,8 @@ extern void setup_io_cache(IO_CACHE* info); extern int _my_b_read(IO_CACHE *info,byte *Buffer,uint Count); #ifdef THREAD extern int _my_b_read_r(IO_CACHE *info,byte *Buffer,uint Count); -extern void init_io_cache_share(IO_CACHE *info, - IO_CACHE_SHARE *s, uint num_threads); +extern void init_io_cache_share(IO_CACHE *read_cache, IO_CACHE_SHARE *cshare, + IO_CACHE *write_cache, uint num_threads); extern void remove_io_thread(IO_CACHE *info); #endif extern int _my_b_seq_read(IO_CACHE *info,byte *Buffer,uint Count); |