mirror of
https://github.com/rakshasa/rtorrent.git
synced 2026-10-06 22:29:23 +00:00
* Logging for scgi calls.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@1100 e378c898-3ddf-0310-93e7-cc216c733640
This commit is contained in:
+5
-1
@@ -56,7 +56,7 @@ public:
|
||||
|
||||
static const int max_tasks = 10;
|
||||
|
||||
SCgi() {}
|
||||
SCgi() : m_logFd(-1) {}
|
||||
virtual ~SCgi();
|
||||
|
||||
void open_port(void* sa, unsigned int length, bool dontRoute);
|
||||
@@ -66,6 +66,9 @@ public:
|
||||
|
||||
void set_slot_process(slot_process::base_type* s) { m_slotProcess.set(s); }
|
||||
|
||||
int log_fd() const { return m_logFd; }
|
||||
void set_log_fd(int fd) { m_logFd = fd; }
|
||||
|
||||
virtual void event_read();
|
||||
virtual void event_write();
|
||||
virtual void event_error();
|
||||
@@ -78,6 +81,7 @@ private:
|
||||
void open(void* sa, unsigned int length);
|
||||
|
||||
std::string m_path;
|
||||
int m_logFd;
|
||||
slot_process m_slotProcess;
|
||||
SCgiTask m_task[max_tasks];
|
||||
};
|
||||
|
||||
@@ -174,6 +174,13 @@ SCgiTask::event_read() {
|
||||
control->poll()->remove_read(this);
|
||||
control->poll()->insert_write(this);
|
||||
|
||||
if (m_parent->log_fd() >= 0) {
|
||||
// Clean up logging, this is just plain ugly...
|
||||
// write(m_logFd, "\n---\n", sizeof("\n---\n"));
|
||||
write(m_parent->log_fd(), m_buffer, m_bufferSize);
|
||||
write(m_parent->log_fd(), "\n---\n", sizeof("\n---\n"));
|
||||
}
|
||||
|
||||
// Close if the call failed, else stay open to write back data.
|
||||
if (!m_parent->receive_call(this, m_body, m_bufferSize - std::distance(m_buffer, m_body)))
|
||||
close();
|
||||
|
||||
Reference in New Issue
Block a user