Avoid libuv resource leaks (fixes #395)
This commit is contained in:
@@ -21,13 +21,18 @@ namespace uv {
|
||||
|
||||
class loop {
|
||||
public:
|
||||
inline loop() : l(uv_loop_new()) {}
|
||||
inline ~loop() { uv_loop_delete(l); }
|
||||
inline loop() {
|
||||
if (uv_loop_init(&l) != 0) {
|
||||
throw std::runtime_error("failed to initialize loop");
|
||||
}
|
||||
}
|
||||
|
||||
inline uv_loop_t *operator*() { return l; }
|
||||
inline ~loop() { uv_loop_close(&l); }
|
||||
|
||||
inline uv_loop_t *operator*() { return &l; }
|
||||
|
||||
private:
|
||||
uv_loop_t *l;
|
||||
uv_loop_t l;
|
||||
};
|
||||
|
||||
class mutex {
|
||||
|
||||
Reference in New Issue
Block a user