mturk 2005/09/17 04:19:47 Modified: jk/native/common jk_shm.c Log: Use named union for shm header. Some compilers have problems comiling unnamed unions as struct members. Revision Changes Path 1.21 +21 -21 jakarta-tomcat-connectors/jk/native/common/jk_shm.c Index: jk_shm.c =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_shm.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- jk_shm.c 16 Sep 2005 05:52:26 -0000 1.20 +++ jk_shm.c 17 Sep 2005 11:19:47 -0000 1.21 @@ -46,7 +46,7 @@ union { jk_shm_header_data_t data; char alignbuf[JK_SHM_ALIGN(sizeof(jk_shm_header_data_t))]; - }; + } h; char buf[1]; }; @@ -127,13 +127,13 @@ jk_shmem.filename = "memory"; jk_shmem.fd = 0; jk_shmem.attached = 0; - memcpy(jk_shmem.hdr->data.magic, shm_signature, 8); - jk_shmem.hdr->data.size = sz; + memcpy(jk_shmem.hdr->h.data.magic, shm_signature, 8); + jk_shmem.hdr->h.data.size = sz; JK_INIT_CS(&(jk_shmem.cs), rc); if (JK_IS_DEBUG_LEVEL(l)) jk_log(l, JK_LOG_DEBUG, "Initialized shared memory size=%u free=%u addr=%#lx", - jk_shmem.size, jk_shmem.hdr->data.size, jk_shmem.hdr); + jk_shmem.size, jk_shmem.hdr->h.data.size, jk_shmem.hdr); JK_TRACE_EXIT(l); return 0; } @@ -143,12 +143,12 @@ JK_TRACE_ENTER(l); if (!jk_shm_open(fname, sz, l)) { jk_shmem.attached = 1; - jk_shmem.hdr->data.childs++; + jk_shmem.hdr->h.data.childs++; if (JK_IS_DEBUG_LEVEL(l)) jk_log(l, JK_LOG_DEBUG, "Attached shared memory [%d] size=%u free=%u addr=%#lx", - jk_shmem.hdr->data.childs, jk_shmem.hdr->data.size, - jk_shmem.hdr->data.size - jk_shmem.hdr->data.pos, + jk_shmem.hdr->h.data.childs, jk_shmem.hdr->h.data.size, + jk_shmem.hdr->h.data.size - jk_shmem.hdr->h.data.pos, jk_shmem.hdr); JK_TRACE_EXIT(l); return 0; @@ -317,20 +317,20 @@ /* Clear shared memory */ if (!attached) { memset(jk_shmem.hdr, 0, jk_shmem.size); - memcpy(jk_shmem.hdr->data.magic, shm_signature, 8); - jk_shmem.hdr->data.size = sz; + memcpy(jk_shmem.hdr->h.data.magic, shm_signature, 8); + jk_shmem.hdr->h.data.size = sz; if (JK_IS_DEBUG_LEVEL(l)) jk_log(l, JK_LOG_DEBUG, "Initialized shared memory size=%u free=%u addr=%#lx", - jk_shmem.size, jk_shmem.hdr->data.size, jk_shmem.hdr); + jk_shmem.size, jk_shmem.hdr->h.data.size, jk_shmem.hdr); } else { - jk_shmem.hdr->data.childs++; + jk_shmem.hdr->h.data.childs++; if (JK_IS_DEBUG_LEVEL(l)) jk_log(l, JK_LOG_INFO, "Attached shared memory [%d] size=%u free=%u addr=%#lx", - jk_shmem.hdr->data.childs, jk_shmem.hdr->data.size, - jk_shmem.hdr->data.size - jk_shmem.hdr->data.pos, + jk_shmem.hdr->h.data.childs, jk_shmem.hdr->h.data.size, + jk_shmem.hdr->h.data.size - jk_shmem.hdr->h.data.pos, jk_shmem.hdr); /* TODO: check header magic */ } @@ -387,9 +387,9 @@ if (jk_shmem.hdr) { size = JK_ALIGN_DEFAULT(size); - if ((jk_shmem.hdr->data.size - jk_shmem.hdr->data.pos) >= size) { - rc = &(jk_shmem.hdr->buf[jk_shmem.hdr->data.pos]); - jk_shmem.hdr->data.pos += size; + if ((jk_shmem.hdr->h.data.size - jk_shmem.hdr->h.data.pos) >= size) { + rc = &(jk_shmem.hdr->buf[jk_shmem.hdr->h.data.pos]); + jk_shmem.hdr->h.data.pos += size; } } else if (p) @@ -407,7 +407,7 @@ time_t jk_shm_get_workers_time() { if (jk_shmem.hdr) - return jk_shmem.hdr->data.modified; + return jk_shmem.hdr->h.data.modified; else return jk_workers_modified_time; } @@ -415,7 +415,7 @@ void jk_shm_set_workers_time(time_t t) { if (jk_shmem.hdr) - jk_shmem.hdr->data.modified = t; + jk_shmem.hdr->h.data.modified = t; else jk_workers_modified_time = t; jk_workers_access_time = t; @@ -461,8 +461,8 @@ if (w) { memset(w, 0, sizeof(jk_shm_worker_t)); if (jk_shmem.hdr) { - jk_shmem.hdr->data.workers++; - w->id = jk_shmem.hdr->data.workers; + jk_shmem.hdr->h.data.workers++; + w->id = jk_shmem.hdr->h.data.workers; } else w->id = -1;
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]