Commit b62cb1498a011357e419ec2791954c590817503b
1 parent
efc4c9ea
Exists in
master
and in
3 other branches
Debuggando uso simultâneo de várias sessões pelo mesmo aplicativo.
Showing
1 changed file
with
4 additions
and
8 deletions
Show diff stats
session.c
... | ... | @@ -97,13 +97,13 @@ void lib3270_session_free(H3270 *h) |
97 | 97 | if(h == default_session) |
98 | 98 | default_session = NULL; |
99 | 99 | |
100 | - | |
101 | 100 | // Release hostname info |
102 | 101 | release_pointer(h->host.current); |
103 | 102 | release_pointer(h->host.full); |
104 | 103 | release_pointer(h->host.srvc); |
105 | 104 | release_pointer(h->host.qualified); |
106 | 105 | |
106 | + trace("Releasing session %p",h); | |
107 | 107 | lib3270_free(h); |
108 | 108 | |
109 | 109 | } |
... | ... | @@ -258,14 +258,10 @@ H3270 * lib3270_session_new(const char *model) |
258 | 258 | |
259 | 259 | trace("%s - configured=%s",__FUNCTION__,default_session ? "Yes" : "No"); |
260 | 260 | |
261 | - if(default_session) | |
262 | - { | |
263 | - // TODO (perry#5#): Allocate a new structure. | |
264 | - errno = EBUSY; | |
265 | - return lib3270_get_default_session_handle(); | |
266 | - } | |
261 | + hSession = lib3270_malloc(sizeof(H3270)); | |
267 | 262 | |
268 | - hSession = default_session = lib3270_malloc(sizeof(H3270)); | |
263 | + if(!default_session) | |
264 | + default_session = hSession; | |
269 | 265 | |
270 | 266 | lib3270_session_init(hSession, model, _( "bracket" ) ); |
271 | 267 | ... | ... |