Descriptor can be leaked when (open | create) called continuously.
Change-Id: If5be52386ab189ce16cfcfebbdd0d0fbeb49207f
Signed-off-by: sangwan.kwon <sangwan.kwon@samsung.com>
void File::create(mode_t mode)
{
+ if (descriptor != -1) {
+ close();
+ }
+
while (1) {
descriptor = ::creat(path.c_str(), mode);
if (descriptor == -1) {
void File::open(int flags)
{
+ if (descriptor != -1) {
+ close();
+ }
+
while (1) {
descriptor = ::open(path.c_str(), flags);
if (descriptor == -1) {