lede-packages-rs

git clone git://archive.git.mtrnord.blog/MTRNord/lede-packages-rs.git
Log | Files | Refs | README | LICENSE

003-no-mallinfo.patch (1209B)


      1 --- a/lib/mm/memlock.c
      2 +++ b/lib/mm/memlock.c
      3 @@ -174,12 +174,15 @@ static void _allocate_memory(void)
      4           *  memory on free(), this is good enough for our purposes.
      5           */
      6  	while (missing > 0) {
      7 +#ifdef __GLIBC__
      8  		struct mallinfo inf = mallinfo();
      9  		hblks = inf.hblks;
     10 +#endif
     11  
     12  		if ((areas[area] = malloc(_size_malloc_tmp)))
     13  			_touch_memory(areas[area], _size_malloc_tmp);
     14  
     15 +#ifdef __GLIBC__
     16  		inf = mallinfo();
     17  
     18  		if (hblks < inf.hblks) {
     19 @@ -189,9 +192,12 @@ static void _allocate_memory(void)
     20  			free(areas[area]);
     21  			_size_malloc_tmp /= 2;
     22  		} else {
     23 +#endif
     24  			++ area;
     25  			missing -= _size_malloc_tmp;
     26 +#ifdef __GLIBC__
     27  		}
     28 +#endif
     29  
     30  		if (area == max_areas && missing > 0) {
     31  			/* Too bad. Warn the user and proceed, as things are
     32 @@ -480,8 +486,13 @@ static void _lock_mem(struct cmd_context
     33  	 * will not block memory locked thread
     34  	 * Note: assuming _memlock_count_daemon is updated before _memlock_count
     35  	 */
     36 +#ifdef __GLIBC__
     37  	_use_mlockall = _memlock_count_daemon ? 1 :
     38  		find_config_tree_bool(cmd, activation_use_mlockall_CFG, NULL);
     39 +#else
     40 +	/* always use mlockall on musl */
     41 +	_use_mlockall = 1;
     42 +#endif
     43  
     44  	if (!_use_mlockall) {
     45  		if (!*_procselfmaps &&