diff options
author | unknown <monty@mysql.com/narttu.mysql.fi> | 2006-11-30 03:40:42 +0200 |
---|---|---|
committer | unknown <monty@mysql.com/narttu.mysql.fi> | 2006-11-30 03:40:42 +0200 |
commit | 1e87cfee19303a3ee3de027c27fef90c153ad4bf (patch) | |
tree | 7cc1a3e7f00427d01d2117c9b3c41231a827afd3 /sql/net_serv.cc | |
parent | c0c013e5b75b88081b6a8a693a777aaf6a574a66 (diff) | |
download | mariadb-git-1e87cfee19303a3ee3de027c27fef90c153ad4bf.tar.gz |
Fixed compiler warnings (Mostly VC++):
- Removed not used variables
- Changed some ulong parameters/variables to ulonglong (possible serious bug)
- Added casts to get rid of safe assignment from longlong to long (and similar)
- Added casts to function parameters
- Fixed signed/unsigned compares
- Added some constructores to structures
- Removed some not portable constructs
Better fix for bug Bug #21428 "skipped 9 bytes from file: socket (3)" on "mysqladmin shutdown"
(Added new parameter to net_clear() to define when we want the communication buffer to be emptied)
client/mysql.cc:
Removed not used variable
client/mysqldump.c:
Fixed compiler warning
client/mysqlslap.c:
Fixed compiler warning
client/mysqltest.c:
Fixed compiler warning
extra/replace.c:
Fixed compiler warning
include/my_global.h:
Fixed compiler warning
include/mysql_com.h:
Changed prototype for net_clear()
libmysql/libmysql.c:
Changed prototype for net_clear()
mysys/base64.c:
Fixed compiler warning (function definition and prototype didn't match)
mysys/my_thr_init.c:
AFter merge fixes
mysys/my_vle.c:
Fixed compiler warning
sql/event_data_objects.cc:
Fixed compiler warning
sql/event_scheduler.cc:
Removed not used variable
sql/field.cc:
Removed not used variables
Fixed compiler warning
sql/gen_lex_hash.cc:
Fixed compiler warning
sql/ha_partition.h:
Fixed compiler warning
sql/handler.cc:
Fixed compiler warning
sql/item.cc:
Fixed compiler warning
sql/item_create.cc:
Fixed compiler warning
sql/item_func.cc:
Fixed compiler warning
sql/item_strfunc.cc:
Fixed compiler warning
sql/item_timefunc.cc:
Fixed compiler warning
sql/item_xmlfunc.cc:
Fixed compiler warning
sql/log.cc:
Fixed compiler warning
sql/log_event.cc:
Fixed compiler warning
sql/log_event.h:
Fixed compiler warning
sql/mysql_priv.h:
Fixed too short 'select_type'
sql/net_serv.cc:
Added argument to net_clear() if we should empty the communication buffer.
sql/opt_range.cc:
Fixed compiler warning
sql/partition_info.cc:
Fixed compiler warning
sql/rpl_injector.h:
Fixed compiler warning
sql/set_var.cc:
Fixed compiler warning
sql/slave.cc:
Fixed compiler warning
sql/sp_head.cc:
Fixed compiler warning
sql/sql_base.cc:
Fixed compiler warning
sql/sql_db.cc:
Fixed compiler warning
sql/sql_delete.cc:
Fixed compiler warning
sql/sql_insert.cc:
Fixed compiler warning
sql/sql_lex.h:
Fixed compiler warning
sql/sql_parse.cc:
Fixed compiler warning
sql/sql_partition.cc:
Fixed compiler warning
sql/sql_plugin.cc:
Fixed compiler warning
sql/sql_prepare.cc:
Fixed compiler warning
sql/sql_rename.cc:
Fixed compiler warning
sql/sql_select.cc:
Fixed compiler warning
sql/sql_show.cc:
Fixed compiler warning
sql/sql_table.cc:
Fixed compiler warning
sql/sql_trigger.cc:
Fixed compiler warning
sql-common/client.c:
Better fix for bug Bug #21428 "skipped 9 bytes from file: socket (3)" on "mysqladmin shutdown"
sql-common/my_time.c:
Fixed compiler warning
sql/sql_union.cc:
Fixed compiler warning
sql/sql_update.cc:
Fixed compiler warning
sql/sql_view.cc:
Fixed compiler warning
sql/sql_yacc.yy:
Fixed compiler warning
sql/table.cc:
Fixed compiler warning
storage/archive/azio.c:
Fixed compiler warning
storage/csv/ha_tina.cc:
Removed not used code
storage/myisam/mi_unique.c:
Fixed compiler warning
storage/ndb/include/util/OutputStream.hpp:
Fixed compiler warning
storage/ndb/include/util/SocketAuthenticator.hpp:
Fixed compiler warning
storage/ndb/src/kernel/vm/Pool.hpp:
Fixed compiler warning
strings/ctype-simple.c:
Fixed compiler warning
strings/my_strchr.c:
Fixed compiler warning
Diffstat (limited to 'sql/net_serv.cc')
-rw-r--r-- | sql/net_serv.cc | 64 |
1 files changed, 34 insertions, 30 deletions
diff --git a/sql/net_serv.cc b/sql/net_serv.cc index 2dfef14fd60..6f8993f584d 100644 --- a/sql/net_serv.cc +++ b/sql/net_serv.cc @@ -266,6 +266,7 @@ static int net_data_is_ready(my_socket sd) SYNOPSIS net_clear() net NET handler + clear_buffer If <> 0, then clear all data from communication buffer DESCRIPTION Read from socket until there is nothing more to read. Discard @@ -280,48 +281,51 @@ static int net_data_is_ready(my_socket sd) */ -void net_clear(NET *net) +void net_clear(NET *net, my_bool clear_buffer) { int count, ready; DBUG_ENTER("net_clear"); #if !defined(EMBEDDED_LIBRARY) - while((ready= net_data_is_ready(net->vio->sd)) > 0) + if (clear_buffer) { - /* The socket is ready */ - if ((count= vio_read(net->vio, (char*) (net->buff), - (uint32) net->max_packet)) > 0) + while ((ready= net_data_is_ready(net->vio->sd)) > 0) { - DBUG_PRINT("info",("skipped %d bytes from file: %s", - count, vio_description(net->vio))); + /* The socket is ready */ + if ((count= vio_read(net->vio, (char*) (net->buff), + (uint32) net->max_packet)) > 0) + { + DBUG_PRINT("info",("skipped %d bytes from file: %s", + count, vio_description(net->vio))); #ifdef EXTRA_DEBUG - fprintf(stderr,"MySQL: net_clear() skipped %d bytes from file: %s\n", - count, vio_description(net->vio)); + fprintf(stderr,"Error: net_clear() skipped %d bytes from file: %s\n", + count, vio_description(net->vio)); #endif + } + else + { + DBUG_PRINT("info",("socket ready but only EOF to read - disconnected")); + net->error= 2; + break; + } } - else - { - DBUG_PRINT("info",("socket ready but only EOF to read - disconnected")); - net->error= 2; - break; - } - } #ifdef NET_DATA_IS_READY_CAN_RETURN_MINUS_ONE - /* 'net_data_is_ready' returned "don't know" */ - if (ready == -1) - { - /* Read unblocking to clear net */ - my_bool old_mode; - if (!vio_blocking(net->vio, FALSE, &old_mode)) + /* 'net_data_is_ready' returned "don't know" */ + if (ready == -1) { - while ((count= vio_read(net->vio, (char*) (net->buff), - (uint32) net->max_packet)) > 0) - DBUG_PRINT("info",("skipped %d bytes from file: %s", - count, vio_description(net->vio))); - vio_blocking(net->vio, TRUE, &old_mode); + /* Read unblocking to clear net */ + my_bool old_mode; + if (!vio_blocking(net->vio, FALSE, &old_mode)) + { + while ((count= vio_read(net->vio, (char*) (net->buff), + (uint32) net->max_packet)) > 0) + DBUG_PRINT("info",("skipped %d bytes from file: %s", + count, vio_description(net->vio))); + vio_blocking(net->vio, TRUE, &old_mode); + } } +#endif /* NET_DATA_IS_READY_CAN_RETURN_MINUS_ONE */ } -#endif -#endif +#endif /* EMBEDDED_LIBRARY */ net->pkt_nr=net->compress_pkt_nr=0; /* Ready for new command */ net->write_pos=net->buff; DBUG_VOID_RETURN; @@ -894,7 +898,7 @@ my_real_read(NET *net, ulong *complen) (int) net->buff[net->where_b + 3], net->pkt_nr)); #ifdef EXTRA_DEBUG - fprintf(stderr,"Packets out of order (Found: %d, expected %d)\n", + fprintf(stderr,"Error: Packets out of order (Found: %d, expected %d)\n", (int) net->buff[net->where_b + 3], (uint) (uchar) net->pkt_nr); #endif |