fix g_malloc usage on non-Linux platforms (patch by Benoit Dejean
2004-03-09 Bastien Nocera <hadess@hadess.net> * fix g_malloc usage on non-Linux platforms (patch by Benoit Dejean <bnet@ifrance.com>)
This commit is contained in:
committed by
Bastien Nocera
parent
58c15ceeda
commit
a795ff4847
@@ -1,3 +1,12 @@
|
|||||||
|
2004-03-09 Bastien Nocera <hadess@hadess.net>
|
||||||
|
|
||||||
|
* command.c: (glibtop_call_i):
|
||||||
|
* demarshal.pl:
|
||||||
|
* marshal.pl:
|
||||||
|
* read_data.c: (glibtop_read_data_i):
|
||||||
|
* server.c: (handle_slave_connection): fix g_malloc usage on non-Linux
|
||||||
|
platforms (patch by Benoit Dejean <bnet@ifrance.com>)
|
||||||
|
|
||||||
2003-10-20 Bastien Nocera <hadess@hadess.net>
|
2003-10-20 Bastien Nocera <hadess@hadess.net>
|
||||||
|
|
||||||
* backend-server.c: (_open_server):
|
* backend-server.c: (_open_server):
|
||||||
|
@@ -89,7 +89,7 @@ glibtop_call_i (glibtop_server *server, backend_server_private *priv,
|
|||||||
glibtop_read_i (priv, recv_size, recv_ptr);
|
glibtop_read_i (priv, recv_size, recv_ptr);
|
||||||
|
|
||||||
if (resp.data_size) {
|
if (resp.data_size) {
|
||||||
void *ptr = g_malloc (server, resp.data_size);
|
void *ptr = g_malloc (resp.data_size);
|
||||||
|
|
||||||
glibtop_read_i (priv, resp.data_size, ptr);
|
glibtop_read_i (priv, resp.data_size, ptr);
|
||||||
|
|
||||||
|
@@ -246,7 +246,7 @@ sub output {
|
|||||||
if ($line_fields[3] eq '') {
|
if ($line_fields[3] eq '') {
|
||||||
$size_code .= "\t_LIBGTOP_RECV_buf = NULL;\n";
|
$size_code .= "\t_LIBGTOP_RECV_buf = NULL;\n";
|
||||||
} else {
|
} else {
|
||||||
$size_code .= "\t_LIBGTOP_RECV_buf = g_malloc (server, _LIBGTOP_RECV_len);\n";
|
$size_code .= "\t_LIBGTOP_RECV_buf = g_malloc (_LIBGTOP_RECV_len);\n";
|
||||||
}
|
}
|
||||||
$size_code .= "\t_LIBGTOP_RECV_ptr = _LIBGTOP_RECV_buf;\n\n";
|
$size_code .= "\t_LIBGTOP_RECV_ptr = _LIBGTOP_RECV_buf;\n\n";
|
||||||
|
|
||||||
@@ -298,7 +298,7 @@ sub output {
|
|||||||
$recv_buf_code .= "\n";
|
$recv_buf_code .= "\n";
|
||||||
$recv_buf_code .= "\t_LIBGTOP_TEMP_len += sizeof (off_t) + 1;\n";
|
$recv_buf_code .= "\t_LIBGTOP_TEMP_len += sizeof (off_t) + 1;\n";
|
||||||
$recv_buf_code .= "\t_LIBGTOP_TEMP_len += array.number * sizeof (off_t);\n";
|
$recv_buf_code .= "\t_LIBGTOP_TEMP_len += array.number * sizeof (off_t);\n";
|
||||||
$recv_buf_code .= "\t_LIBGTOP_ARRAY_base = g_malloc (server, _LIBGTOP_TEMP_len);";
|
$recv_buf_code .= "\t_LIBGTOP_ARRAY_base = g_malloc (_LIBGTOP_TEMP_len);";
|
||||||
$recv_buf_code .= "\t_LIBGTOP_ARRAY_ptr = _LIBGTOP_ARRAY_base;\n";
|
$recv_buf_code .= "\t_LIBGTOP_ARRAY_ptr = _LIBGTOP_ARRAY_base;\n";
|
||||||
$recv_buf_code .= "\t_LIBGTOP_ARRAY_offset = array.number * sizeof (off_t);\n";
|
$recv_buf_code .= "\t_LIBGTOP_ARRAY_offset = array.number * sizeof (off_t);\n";
|
||||||
$recv_buf_code .= "\t_LIBGTOP_ARRAY_offset += sizeof (off_t);\n";
|
$recv_buf_code .= "\t_LIBGTOP_ARRAY_offset += sizeof (off_t);\n";
|
||||||
|
@@ -181,7 +181,7 @@ sub output {
|
|||||||
$send_buf_code = "\t/* send buffer */\n";
|
$send_buf_code = "\t/* send buffer */\n";
|
||||||
$send_buf_code .= "\t_LIBGTOP_SEND_buf = ";
|
$send_buf_code .= "\t_LIBGTOP_SEND_buf = ";
|
||||||
if ($need_temp_storage) {
|
if ($need_temp_storage) {
|
||||||
$send_buf_code .= "g_malloc (server, _LIBGTOP_SEND_len+1)";
|
$send_buf_code .= "g_malloc (_LIBGTOP_SEND_len+1)";
|
||||||
} else {
|
} else {
|
||||||
$send_buf_code .= '(void *) &'.$first_param_name;
|
$send_buf_code .= '(void *) &'.$first_param_name;
|
||||||
}
|
}
|
||||||
@@ -190,7 +190,7 @@ sub output {
|
|||||||
$send_buf_code .= "\t/* data buffer */\n";
|
$send_buf_code .= "\t/* data buffer */\n";
|
||||||
$send_buf_code .= "\t_LIBGTOP_DATA_buf = ";
|
$send_buf_code .= "\t_LIBGTOP_DATA_buf = ";
|
||||||
if ($need_temp_storage) {
|
if ($need_temp_storage) {
|
||||||
$send_buf_code .= "g_malloc (server, _LIBGTOP_DATA_len+1)";
|
$send_buf_code .= "g_malloc (_LIBGTOP_DATA_len+1)";
|
||||||
} else {
|
} else {
|
||||||
$send_buf_code .= 'NULL';
|
$send_buf_code .= 'NULL';
|
||||||
}
|
}
|
||||||
@@ -231,7 +231,7 @@ sub output {
|
|||||||
$local_var_code .= "\tchar *_LIBGTOP_ARRAY_ptr, **ptrlist;\n";
|
$local_var_code .= "\tchar *_LIBGTOP_ARRAY_ptr, **ptrlist;\n";
|
||||||
$local_var_code .= "\toff_t *_LIBGTOP_ARRAY_off_ptr;\n";
|
$local_var_code .= "\toff_t *_LIBGTOP_ARRAY_off_ptr;\n";
|
||||||
$local_var_code .= "\tint i;\n";
|
$local_var_code .= "\tint i;\n";
|
||||||
$call_code .= "\tptrlist = g_malloc (server, array->number+1 * sizeof (char *));\n";
|
$call_code .= "\tptrlist = g_malloc (array->number+1 * sizeof (char *));\n";
|
||||||
$call_code .= "\t_LIBGTOP_ARRAY_off_ptr = (off_t *) retval;\n";
|
$call_code .= "\t_LIBGTOP_ARRAY_off_ptr = (off_t *) retval;\n";
|
||||||
$call_code .= "\t_LIBGTOP_ARRAY_ptr = (char *) retval;\n";
|
$call_code .= "\t_LIBGTOP_ARRAY_ptr = (char *) retval;\n";
|
||||||
$call_code .= "\t_LIBGTOP_ARRAY_off_ptr++;\n\n";
|
$call_code .= "\t_LIBGTOP_ARRAY_off_ptr++;\n\n";
|
||||||
|
@@ -47,7 +47,7 @@ glibtop_read_data_i (backend_server_private *priv)
|
|||||||
|
|
||||||
if (!size) return NULL;
|
if (!size) return NULL;
|
||||||
|
|
||||||
ptr = g_malloc (priv->server, size);
|
ptr = g_malloc (size);
|
||||||
|
|
||||||
ret = read (priv->input [0], ptr, size);
|
ret = read (priv->input [0], ptr, size);
|
||||||
|
|
||||||
|
@@ -155,7 +155,7 @@ handle_slave_connection (int input, int output)
|
|||||||
cmnd->data_size);
|
cmnd->data_size);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
data_ptr = g_malloc (server, cmnd->data_size);
|
data_ptr = g_malloc (cmnd->data_size);
|
||||||
do_read (input, data_ptr, cmnd->data_size);
|
do_read (input, data_ptr, cmnd->data_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,3 +1,8 @@
|
|||||||
|
2004-03-09 Bastien Nocera <hadess@hadess.net>
|
||||||
|
|
||||||
|
* procargs.c: (glibtop_get_proc_args_s): fix g_malloc usage on non-Linux
|
||||||
|
platforms (patch by Benoit Dejean <bnet@ifrance.com>)
|
||||||
|
|
||||||
2003-10-21 Bastien Nocera <hadess@hadess.net>
|
2003-10-21 Bastien Nocera <hadess@hadess.net>
|
||||||
|
|
||||||
* Makefile.am: install only one library, libgtop-2.0
|
* Makefile.am: install only one library, libgtop-2.0
|
||||||
|
@@ -73,7 +73,7 @@ glibtop_get_proc_args_s (glibtop *server, glibtop_proc_args *buf,
|
|||||||
}
|
}
|
||||||
|
|
||||||
size = max_len != 0 ? max_len : 4096;
|
size = max_len != 0 ? max_len : 4096;
|
||||||
args_buffer = g_malloc (server, size);
|
args_buffer = g_malloc (size);
|
||||||
if (args_buffer == NULL)
|
if (args_buffer == NULL)
|
||||||
{
|
{
|
||||||
glibtop_error_io_r (server, "Cannot malloc procsinfo");
|
glibtop_error_io_r (server, "Cannot malloc procsinfo");
|
||||||
@@ -111,7 +111,7 @@ glibtop_get_proc_args_s (glibtop *server, glibtop_proc_args *buf,
|
|||||||
len += strlen(args_buffer + len) + 1;
|
len += strlen(args_buffer + len) + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
args = g_malloc (server, len);
|
args = g_malloc (len);
|
||||||
if (args == NULL)
|
if (args == NULL)
|
||||||
{
|
{
|
||||||
glibtop_error_io_r (server, "Cannot malloc procsinfo");
|
glibtop_error_io_r (server, "Cannot malloc procsinfo");
|
||||||
|
@@ -1,3 +1,10 @@
|
|||||||
|
2004-03-09 Bastien Nocera <hadess@hadess.net>
|
||||||
|
|
||||||
|
* procargs.c: (glibtop_get_proc_args_p):
|
||||||
|
* procmap.c: (glibtop_get_proc_map_p):
|
||||||
|
* swap.c: (glibtop_get_swap_p): fix g_malloc usage on non-Linux
|
||||||
|
platforms (patch by Benoit Dejean <bnet@ifrance.com>)
|
||||||
|
|
||||||
2003-10-21 Bastien Nocera <hadess@hadess.net>
|
2003-10-21 Bastien Nocera <hadess@hadess.net>
|
||||||
|
|
||||||
* Makefile.am: install only one library, libgtop-2.0
|
* Makefile.am: install only one library, libgtop-2.0
|
||||||
|
@@ -93,7 +93,7 @@ glibtop_get_proc_args_p (glibtop *server, glibtop_proc_args *buf,
|
|||||||
size += strlen (*ptr)+1;
|
size += strlen (*ptr)+1;
|
||||||
|
|
||||||
size += 2;
|
size += 2;
|
||||||
retval = g_malloc (server, size);
|
retval = g_malloc (size);
|
||||||
memset (retval, 0, size);
|
memset (retval, 0, size);
|
||||||
|
|
||||||
for (ptr = args; *ptr; ptr++) {
|
for (ptr = args; *ptr; ptr++) {
|
||||||
|
@@ -131,7 +131,7 @@ glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf,
|
|||||||
|
|
||||||
buf->total = buf->number * buf->size;
|
buf->total = buf->number * buf->size;
|
||||||
|
|
||||||
maps = g_malloc (server, buf->total);
|
maps = g_malloc (buf->total);
|
||||||
|
|
||||||
memset (maps, 0, buf->total);
|
memset (maps, 0, buf->total);
|
||||||
|
|
||||||
|
@@ -267,7 +267,7 @@ glibtop_get_swap_p (glibtop *server, glibtop_swap *buf)
|
|||||||
/* List of swap devices and sizes. */
|
/* List of swap devices and sizes. */
|
||||||
|
|
||||||
sw_size = nswdev * sizeof (*sw);
|
sw_size = nswdev * sizeof (*sw);
|
||||||
sw = g_malloc (server, sw_size);
|
sw = g_malloc (sw_size);
|
||||||
|
|
||||||
if (kvm_read (server->machine.kd, ptr, sw, sw_size) != (ssize_t)sw_size) {
|
if (kvm_read (server->machine.kd, ptr, sw, sw_size) != (ssize_t)sw_size) {
|
||||||
glibtop_warn_io_r (server, "kvm_read (*swdevt)");
|
glibtop_warn_io_r (server, "kvm_read (*swdevt)");
|
||||||
@@ -399,7 +399,7 @@ glibtop_get_swap_p (glibtop *server, glibtop_swap *buf)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
swaplist = g_malloc (server, nswap * sizeof (struct swapent));
|
swaplist = g_malloc (nswap * sizeof (struct swapent));
|
||||||
|
|
||||||
if (swapctl (SWAP_STATS, swaplist, nswap) != nswap) {
|
if (swapctl (SWAP_STATS, swaplist, nswap) != nswap) {
|
||||||
glibtop_warn_io_r (server, "swapctl (SWAP_STATS)");
|
glibtop_warn_io_r (server, "swapctl (SWAP_STATS)");
|
||||||
|
@@ -1,3 +1,8 @@
|
|||||||
|
2004-03-09 Bastien Nocera <hadess@hadess.net>
|
||||||
|
|
||||||
|
* proclist.c: (glibtop_get_proclist_s): fix g_malloc usage on non-Linux
|
||||||
|
platforms (patch by Benoit Dejean <bnet@ifrance.com>)
|
||||||
|
|
||||||
2003-10-21 Bastien Nocera <hadess@hadess.net>
|
2003-10-21 Bastien Nocera <hadess@hadess.net>
|
||||||
|
|
||||||
* Makefile.am: install only one library, libgtop-2.0
|
* Makefile.am: install only one library, libgtop-2.0
|
||||||
|
@@ -77,7 +77,7 @@ glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf,
|
|||||||
|
|
||||||
buf->total = buf->number * sizeof (unsigned);
|
buf->total = buf->number * sizeof (unsigned);
|
||||||
|
|
||||||
pids_chain = g_malloc (server, buf->total);
|
pids_chain = g_malloc (buf->total);
|
||||||
|
|
||||||
memcpy (pids_chain, tbl.proclist.pids, buf->total);
|
memcpy (pids_chain, tbl.proclist.pids, buf->total);
|
||||||
|
|
||||||
|
@@ -1,3 +1,9 @@
|
|||||||
|
2004-03-09 Bastien Nocera <hadess@hadess.net>
|
||||||
|
|
||||||
|
* procargs.c: (glibtop_get_proc_args_s):
|
||||||
|
* procmap.c: (glibtop_get_proc_map_s): fix g_malloc usage on non-Linux
|
||||||
|
platforms (patch by Benoit Dejean <bnet@ifrance.com>)
|
||||||
|
|
||||||
2003-10-21 Bastien Nocera <hadess@hadess.net>
|
2003-10-21 Bastien Nocera <hadess@hadess.net>
|
||||||
|
|
||||||
* Makefile.am: install only one library, libgtop-2.0
|
* Makefile.am: install only one library, libgtop-2.0
|
||||||
|
@@ -60,7 +60,7 @@ glibtop_get_proc_args_s (glibtop *server, glibtop_proc_args *buf,
|
|||||||
break;
|
break;
|
||||||
if(max_len)
|
if(max_len)
|
||||||
{
|
{
|
||||||
ret = g_malloc(server, max_len + 1);
|
ret = g_malloc(max_len + 1);
|
||||||
if(max_len < len)
|
if(max_len < len)
|
||||||
len = max_len;
|
len = max_len;
|
||||||
memcpy(ret, pinfo.pr_psargs, len);
|
memcpy(ret, pinfo.pr_psargs, len);
|
||||||
@@ -68,7 +68,7 @@ glibtop_get_proc_args_s (glibtop *server, glibtop_proc_args *buf,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ret = g_malloc(server, len + 1);
|
ret = g_malloc(len + 1);
|
||||||
memcpy(ret, pinfo.pr_psargs, len);
|
memcpy(ret, pinfo.pr_psargs, len);
|
||||||
ret[len] = 0;
|
ret[len] = 0;
|
||||||
|
|
||||||
|
@@ -120,8 +120,7 @@ glibtop_get_proc_map_s (glibtop *server, glibtop_proc_map *buf, pid_t pid)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
if(!(entry = g_malloc(server,
|
if(!(entry = g_malloc(nmaps * sizeof(glibtop_map_entry))))
|
||||||
nmaps * sizeof(glibtop_map_entry))))
|
|
||||||
return NULL;
|
return NULL;
|
||||||
buf->number = nmaps;
|
buf->number = nmaps;
|
||||||
buf->size = sizeof(glibtop_map_entry);
|
buf->size = sizeof(glibtop_map_entry);
|
||||||
|
@@ -1,3 +1,9 @@
|
|||||||
|
2004-03-09 Bastien Nocera <hadess@hadess.net>
|
||||||
|
|
||||||
|
* open.c: (glibtop_open_p):
|
||||||
|
* proclist.c: (glibtop_get_proclist_p): fix g_malloc usage on non-Linux
|
||||||
|
platforms (patch by Benoit Dejean <bnet@ifrance.com>)
|
||||||
|
|
||||||
2003-10-21 Bastien Nocera <hadess@hadess.net>
|
2003-10-21 Bastien Nocera <hadess@hadess.net>
|
||||||
|
|
||||||
* Makefile.am: install only one library, libgtop-2.0
|
* Makefile.am: install only one library, libgtop-2.0
|
||||||
|
@@ -169,7 +169,7 @@ glibtop_open_p (glibtop *server, const char *program_name,
|
|||||||
sizeof (struct page);
|
sizeof (struct page);
|
||||||
|
|
||||||
server->machine.physpage = (struct page *)
|
server->machine.physpage = (struct page *)
|
||||||
g_malloc (server, server->machine.bytesize);
|
g_malloc (server->machine.bytesize);
|
||||||
|
|
||||||
/* get the page size with "getpagesize" and
|
/* get the page size with "getpagesize" and
|
||||||
* calculate pageshift from it */
|
* calculate pageshift from it */
|
||||||
|
@@ -71,7 +71,7 @@ glibtop_get_proclist_p (glibtop *server, glibtop_proclist *buf,
|
|||||||
|
|
||||||
proc_size = nproc * sizeof (unsigned);
|
proc_size = nproc * sizeof (unsigned);
|
||||||
|
|
||||||
proc_list = g_malloc (server, proc_size);
|
proc_list = g_malloc (proc_size);
|
||||||
|
|
||||||
/* Write process list. */
|
/* Write process list. */
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user