~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/plugin/logging.h

  • Committer: Evan Jones
  • Date: 2011-01-02 18:30:08 UTC
  • mto: (2055.1.2 build)
  • mto: This revision was merged to the branch mainline in revision 2056.
  • Revision ID: evanj@mit.edu-20110102183008-ytvoaig5zxdck3d5
libdrizzle: drizzle_state_read: only call recv() if data is available.

This uses the "read ready" flag that already exists to avoid excess system calls. Without this patch, in non-blocking mode after sending a command, libdrizzle immediately calls recv(), which almost always returns EAGAIN. This patch avoids that, instead returning IO_WAIT. This causes the caller to wait for data on the connection using poll() or epoll() before calling recv().

Show diffs side-by-side

added added

removed removed

Lines of Context:
22
22
#ifndef DRIZZLED_PLUGIN_LOGGING_H
23
23
#define DRIZZLED_PLUGIN_LOGGING_H
24
24
 
25
 
#include <drizzled/plugin/plugin.h>
 
25
#include "drizzled/plugin/plugin.h"
26
26
 
27
27
#include <string>
28
28
 
29
 
#include <drizzled/visibility.h>
30
 
 
31
29
namespace drizzled
32
30
{
33
31
class Session;
35
33
namespace plugin
36
34
{
37
35
 
38
 
class DRIZZLED_API Logging : public Plugin
 
36
class Logging : public Plugin
39
37
{
40
38
  Logging();
41
39
  Logging(const Logging &);