close connections in pool

This commit is contained in:
thosakwe 2017-07-10 22:02:21 -04:00
parent 721e465f32
commit fc73c6840e
3 changed files with 11 additions and 3 deletions

View file

@ -1,7 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$/angel_orm" />
<content url="file://$MODULE_DIR$/angel_orm">
<excludeFolder url="file://$MODULE_DIR$/angel_orm/.pub" />
<excludeFolder url="file://$MODULE_DIR$/angel_orm/build" />
<excludeFolder url="file://$MODULE_DIR$/angel_orm/packages" />
</content>
<content url="file://$MODULE_DIR$/angel_orm_generator">
<excludeFolder url="file://$MODULE_DIR$/angel_orm_generator/.pub" />
<excludeFolder url="file://$MODULE_DIR$/angel_orm_generator/build" />

View file

@ -37,7 +37,11 @@ class PostgreSQLConnectionPool {
Future<T> run<T>(FutureOr<T> callback(PostgreSQLConnection connection)) {
return _pool.request().then((resx) {
return _connect().then((connection) {
return new Future<T>.sync(() => callback(connection)).whenComplete(resx.release);
return new Future<T>.sync(() => callback(connection))
.whenComplete(() async {
if (!connection.isClosed) await connection.close();
resx.release();
});
});
});
}

View file

@ -1,5 +1,5 @@
name: angel_orm
version: 1.0.0-alpha
version: 1.0.0-alpha+1
description: Runtime support for Angel's ORM.
author: Tobe O <thosakwe@gmail.com>
homepage: https://github.com/angel-dart/orm