Summary:
forbid the creation of short name (legacy of DOS)
Without optimisation
1. using only Win32 API, just iterating over directories (in micro seconds) :
10 files : 47
1000 files : 270
100000 files : 73227
2. using eina_file_dir_list() with a callback which does nothing :
10 files : 53
1000 files : 265
100000 files : 69624
usually there is a small overhead for eina API, which is normal
With optimisation
1. using only Win32 API, just iterating over directories (in micro seconds) :
10 files : 51
1000 files : 256
100000 files : 33345
2. using eina_file_dir_list() with a callback which does nothing :
10 files : 53
1000 files : 251
100000 files : 33832
speed up with 1000 files and more. Twice faster with 100000 files
Test Plan: benchmark program
Reviewers: raster, cedric, zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8842
Summary:
windows does not automatically set errno so we must do it ourselves
@fix
Depends on D8103
Reviewers: vtorri
Reviewed By: vtorri
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8104
Summary:
Unsigned integer should not be compared to less than zero
@fix
Test Plan: NA
Reviewers: cedric
Reviewed By: cedric
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D5269
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
When a virtualized file is created the file->global_map will not
point to a mmapped region, thus it's not safe to use munmap() during
the file cleanup. Only use munmap() if the file is backed by a FD.
Fixes: T5234.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary: CreateFileMapping return handle. The handle before use is always closed. This handle can be immediately closed after use.
Reviewers: cedric, raster, vtorri, rimmed, an.kroitor, FurryMyad, NikaWhite
Reviewed By: raster
Subscribers: artem.popov, cedric, jpeg
Tags: #windows
Differential Revision: https://phab.enlightenment.org/D4699
Func _eina_file_win32_first_file try to find the first file in directory
but if any file not found the file handler stay open, and func will
return error. But in this case while handle is open impossible to do
any actions. For example call eina_file_ls for empty folder, func will
return error and fold folder open. And if we try to remove this folder
Windows only mark it to delete, and remove it after the process is
complete.
Solution: close handler in error case.
Summary:
It's better to realese the lock before returning NULL. Otherwise the program
is waiting indefinitely then crashing on Windows ("program not responding").
@fix
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
The lock on the main hash was taken to late (after we took the decision
to remove the targeted Eina_File from the cache), this means it was possible
to get an Eina_File from the cache that was going to be removed. This patch
attempt to fix that potential race condition.
Hopefully should fix T461.
This reverts commit c002d113f1.
This commit reliably breaks builds with clang. Please test with
export CC=clang before you commit again.
export CC=clang
./autogen.sh --enable-multisense && make -j 10
The error Jenkins gets (I confirmed locally):
/bin/bash: line 1: 13549 Segmentation fault (core dumped) EFL_RUN_IN_TREE=1 ./bin/edje/edje_cc -id . -fd . -id ./tests/emotion/data tests/emotion/data/theme.edc tests/emotion/data/theme.edj